The nice thing about integer overflow being UB is that UBsan (or even compiler flags without it) can make it throw, so it's easy to catch.
Defining it as wrapping means you still have bugs, they're just harder to catch.
Define it as wrapping, and there will be programs relying on it (that are currently using unsigned).
Define it as wrapping, and there will be programs relying on it (that are currently using unsigned).