If you’re a developer/enthusiast and willing to live with some of the pain of running IPv6 only for some reason…
… then there is this jool.mx thing.
It’s a NAT64 - if you have devices that only speak IPv4 this will give them an IPv6 address… and if you have devices that only speak IPv6 this will give them an IPv4 address… somehow.
DNS64 exists and can fabricate AAAA records for IPv4 only hosts, so web should be fine… mostly. However, DNSSEC, DNS over HTTPS/TLS/QUIC, and people not using network provided DNS servers breaks this somewhat - most major websites are IPv6 enabled so it shouldn’t be a big deal for most people’s majority of use cases.
The remaining problem, as others have pointed out, are various network protocols that don’t really have any support for NAT64 translators. Pretty much any network protocol that encapsulates some kind of IP address, is going to have some issues. Things like crypto DHTs, torrents, ipfs and so on… The client software out there, that is running on IPv6 only machine is going to get an IPv4 peer address, and then what? … it should know how to talk to it over IPv6, but it doesn’t… despite there being standards to enable this. Vice-versa is also a problem and even harder to solve from a technical perspective.
There’s also an issue with lots of technologically progressive folks opting out of IPv6 for whatever reason - they’d setup pfSense at home, or another kind of router and they’d end up with a non-functioning/disabled/broken IPv6 configuration… and they wouldn’t care.
There’s another issue, IOT. Lots of small devices run custom IP stacks that have been very much optimized for size. So much, that even IPv4 implementation is bare bones and TLS is a non-starter and they end up with their own noise protocols instead. Often, there’s a companion phone app that expects mDNS or similar discovery to happen, or they end up phoning home over the internet… and whoever is on the other end is not expecting them to talk IPv6.
These are all technically solvable problems, they’re not hard to solve, but it’d take a lot of effort, and will take a long time. So, unless you’re willing to live with some of the brokenness for the sake of science, and for the sake of actually improving the situation with various pieces of software, don’t do IPv6 only.
If you want to improve, start with jool.mx on your router, for fun, and try to build an IPv6 only LAN segment (e.g. start with a separate WiFi SSID), and see how big you can make that segment before running into problems, and then file bugs for software that is not aware that NAT64 can exist. (e.g. ask that torrent clients and trackers and other P2P apps to implement a flag to contact IPv4 peers over their rfc6052 or rfc8215 address - and/or to discover when they have IPv6 only connectivity and try to get around it).