I don't see how this is any different to boostrapping gcc with any other system compiler. It's fairly common for the system compiler to use a different ABI to the new gcc. Why is 32/64-bit any different?
It isn't any different, which is the whole point. The point is that what's being built is a compiler that's for a different host than we tell configure that it's for: specificially it's a cross-compiler and we're saying it's a native compiler. The issue isn't what compiler *builds* the stage1 compiler, but what the stage1 compiler *is*: if it's not for the same system as its target, it's not a native compiler, but a cross-compiler and it doesn't make sense to bootstrap cross-compiler (or, to be precise, if you do so, you need an additional stage, so that compiler would become a "stage0" compiler).