For hosting services, what it comes down to is that you really only need IPv4 on a limited number of edge nodes (load balancers and CDN nodes) that users directly connect to. Most servers aren't directly user-facing and would be fine only having an IPv6 address. This is what large companies like Google and Meta do - their internal network (both in their data centers and in their offices) are mostly IPv6-only.
IPv6 is not going to happen
~40% of traffic to Google and ~37% of traffic to Facebook are going over IPv6 (
https://www.google.com/intl/en/ipv6/statistics.html,
https://www.facebook.com/ipv6/).
It really depends on where you live. It's mostly going great in the USA. Around 50% of traffic to Google and 60% of traffic to Facebook is going over IPv6. In the USA, most mobile networks are already IPv6-only, using 464XLAT and/or DNS64 for connectivity to legacy IPv4-only servers. They do NOT use CGNAT like in some other countries. T-mobile did this first, then some of the other carriers followed. Some aren't entirely IPv6 but they're 90%+ IPv6.
Comcast rolled out IPv6 way back in 2011. By 2015, 70% of their customers had IPv6 provisioned (
https://corporate.comcast.com/comca...-of-the-end-its-just-the-end-of-the-beginning) and I think that's closer to 85% today. That means customers that actually have an active IPv6 prefix.
What I see is the biggest hold up is Cable and DSL modems
Any modems from the past 5-10 years should support IPv6. I don't think any major ISPs (at least in the USA) are shipping modems that don't support IPv6 any more. If you're renting a modem from an ISP and it's very old, you can just ask them for a new one. That's one of the main reasons for renting a modem - you can upgrade it over time.
Another issue. Prefixes are assigned by an ISP. Have fun redoing you internal static addresses on you key devices if you change ISP. At least with NAT you can just drop in a replacement ISP.
This is what ULAs (unique local addresses) are for. Your devices can have multiple IPv6 addresses, like a ULA for use within your network, and a public IP for internet access. Both of them can be assigned using SLAAC.
NAT is a horrible hack and I'll be glad to see it gone.