It is not as straight forward as you describe it. You are right to leave it on except by explicit request..
While no doubt IPv4 is way more humanly readable most times, it is not necessarily better for actual connectivity needs. There are a TON of patches if you will to IPv6, which makes it vastly more robust, reliable, and addresses the shortfalls of IPv4. DNS will generally be implemented on most networks regardless of which IP types they use.
What is not so true is your statements that ISPs should exclusively use IPv6 and leave IPv4 for private, internal networks. Both IPv6 and IPv4 are an entirely different protocol stack; there is no cross-compatibility. They are as incompatible from one another as they are with Novell's IPX/SPX... Don't get me wrong, you could tunnel one through the other, but that's a different discussion. If ISPs ran IPv6 exclusively, you would have access to 20% of the Internet at most... As for IPv4 being left for private networks, you could not just hand them all over unless you yanked them back from their owners... taking down the Internet. Now keep in mind the IPv4 addresses are owned in various CIDR blocks (look at Robtex). These ARE for all intents and purposes and privately owned, public-routable addresses assigned to actual computers/servers etc on mostly privately owned networks. They then use these addresses privately or publicly at their discretion. It literally simply up to them if they choose to route those addresses to the outside world and allow incoming requests through their firewall.
Now, typically, due to the depletion of IPv4 addresses, most organizations do not have a huge CIDR block and use their publicly routable IP addresses internally except likely in their DMZ or public-facing web cluster; since, this would essentially waste them to use them Internally, but that was what people originally did when the Internet is built. Now, most people do is separate their publicly routable and private IP address subnets for security reasons as well as reserving them. Often times they will then NAT their private IPs to various Publicly-Rubable IPs to the Internet.
Current Private IP space anybody can use:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
The first one by Default should have a Class A subnet mask, the second should be assigned a Class B subnet mask, and the third group should be assigned a Class C. For example, with 192.168.0.0, you would use a /24 for a class C. If you really used a /16 that would be supernetting not subnetting, and it is typically used for routing tables.