v6 usage continues to grow on cellular and broadband networks. So lots of consumers now have it.
https://www.google.com/intl/en/ipv6/statistics.html
I would argue many aspects of the protocol’s design made it difficult to implement, for both vendors and networks. A simple “same protocol, larger address field” and more focus on backwards compatibility probably would have fared better.
Either way it doesn’t completely solve the problem mentioned above. You need a firewall to block inbound connections to things on your LAN. So to do p2p you need a way to add rules to allow the traffic you want in. So it either remains too complex for the average person to do manually, or you run something like uPNP. But that can have its own security considerations.
v6 does remove some of the complexities for trying to run services from private address space behind NAT though. So it’s an improvement.