C++ ABI issues seem to be in this paradoxical situation where the language standard powerbrokers simultaneously feel that a. Having a real binary compatibility story is beneath C++, but b. The accidental ABI compatibility that exists today is too widely adopted to break.
But platforms define the final memory and calling conventions so that can’t be part of any language spec - this is not unique to C++.
Windows has its own ABI, which it has had for a long time, so they can’t change it, so on x86 windows it will always be that.