It's more that it's a bidirectional chicken-and-egg problem, but backwards.
There's no motivation on the client side to use IPv6 because if you have IPv4, whether directly or through NAT, you can access the entire Internet. You're not "missing out" on anything other than incoming connections if you're on NAT, and most people don't need that capability.
There's no motivation on the server side to use IPv6 because if you have IPv4, everyone can reach you. Period. There's still a lot of IPv4 space available, it's just owned by big cloud providers like AWS where people tend to put their services up anyway.
Full IPv6 adoption will not happen until it becomes a lot more painful to not use IPv6, and sadly that's not going to happen anytime soon. Mobile providers use IPv6 by necessity due to the sheer number of clients, and many are already pure IPv6 and using 464XLAT to get to IPv4. In the end this is NAT with extra steps. We get closer every year, but each year we travel about half the distance, so we're not getting there any time soon. :(