It's an address space expansion. You were always going to need hacky stuff for legacy clients, and for any service that wants to be reachable by said clients.
Exactly this. There is no "backwards compatible" way to have more addresses in a protocol that's wedded to 32-bit addresses. That's just how numbers work. The protocol with a larger address space will be incompatible, and so anybody who seems surprised/ disappointed hasn't even really thought about the problem.