IPv4 is due to run out of possible addresses and has been this way for a long time. However this has been consistently avoided by NATing, essentially hiding multiple devices behind a single router.
IPv6 makes many more addresses available and solves this problem. However many data centers, online services, and even popular applications fail to correctly work nicely with IPv6 only users. Since the IPv4 exhaustion has been going on for a while, most developers don't consider it a concern when designing new services.
Mobile users won't notice because their IPv4 addresses were NATted anyway, and the phone stacks make it harder for app developers to screw up the v6 support. The v6 switchover should be mostly invisible to the users.
I believe that at the time of the rollout they were the largest IP6 network on the planet. They may still be.
It works because smartphone users don't have the same needs as home and business users. There aren't a ton of smartphone users demanding reachable IPv4 addresses in the first place, and the ones who might want them are probably smart enough to figure out how to use IPv6 instead.
Often it's nice to be able to reach out to those devices and check the location, status, or whatever instead of waiting for the device to check in with you.
For those purposes though IPv6 is fine... as long as you know what you're doing with IPv6.
Having secure devices is obviously the better solution but will never happen. That 10 year old vending machine won't get an update anytime soon and hiding it from the outer world could be the best way to prevent it being part of a botnet.
Also scanning IPv6 is not that easy as it is in v4.