In my view the default semantics for integers should absolutely be the same as the default semantics in LLVM (which mirrors all modern processors, and also languages like Java): two’s complement wraparound.
In some situations, making signed or unsigned overflow undefined allows interesting optimizations, which is fine – but this must be opt-in, not the default.