Difference is it's all public after, it would ease the transition dramatically, and then you can just use whatever you want internally making /32 the minimal assigned block or whatever the prefix size is.
Routing would be complicated when have to deal with variable length addresses when half the hosts don't know about them and half the routers remove them. It wouldn't make up for rewriting all the software, we know how hard that was with IPv6.
As such you still need an ipv4 network, so why bother with ipv6
CLAT should have been baked into the kernel 15 years ago.
NAT's RFC was 1994 - although port translation didn't come in until 1996. The same year that IPv6's RFC came in 1996.
Had ipv6 not been created until say 2010 I suspect it would have looked to be backwards compatible with the widespread use of NAT then.