That's pretty cool. However, we can only do this if we get over the chicken-and-egg problem, which is why it's important you enable IPv6 and encourage others to do so.
Yes, it's easier to hole punch, but a webserver won't do that.
And if you're manually configuring a firewall, I'm not sure "allow port 80 <someIPv6>" is any easier than "forward port 80 to <someipv4>.
What am I missing?
That allows me and the people I know to connect to each other's machines in a way that wouldn't be possible with IPv4 and NAT. I can be at my brothers and type \\[fqdn] in explorer and it will just work. To me, that is the way the internet was meant to function from the beginning.
Truth is that for most users, NAT today is almost always synonymous with a firewall that has deny in, allow out policy.
10+ years ago, a lot of folks often connected their machines to the Internet in the way you specified. You could go around scanning people's systems, viewing their fileshares and so on. NAT "fixed" a lot of that.
Second, if ISPs are willing to keep records of IP-address-to-customer mappings, it's not much of a stretch to add TCP/UDP ports to those records as well.
Not necessarily. I've configured my IPv6 firewall to block all the things except for specific ip:port pairs. I didn't feel like leaving my network totally open.
Sure there is NAT and various other things carriers and ISPs can do, but that will increasingly be the slow path, and possibly even charged for.
You can put your head in the sand, only to have this issue bite you badly and urgently one day, or you can start now slowly but surely making sure everything appropriate is done. For example you can make sure purchases of equipment and software claim to work correctly (how will your VPN work?), do whatever training is necessary etc and gradually add IPv6 to your infrastructure and clients.
Consider an ISP with Native IPv6 and NAT'd IPv4. (T-Mobile and Verizon Wireless are specific examples in the USA.) When you dual-stack your server, that traffic no longer needs to traverse the NAT, so users may see better performance.
There's no way to avoid NAT in general, because there simply aren't enough IPv4 addresses to go around, but ISPs should be able to deploy NAT equipment with the assumption that the operational costs will decline over time as IPv6 becomes more popular.
Putting stateful NAT boxes everywhere is antithetical to the concept of a free, neutral network, so we should all be striving to make the alternative viable.