It doesn't take any OS upgrades for "getting everything to work on
IPv6". All the OS's and routers have supported IPv6 for more than a
decade.
There are lots of vendors, both inside and outside the networking space, that have consistently released products with non-existant or broken IPv6 implementations. That includes smaller startups, as well as very big names. An affirmative choice is often made to make sure v4 works , get the thing out the door, and deal with v6 later, or if a big client complains.
To be completely fair, some of those vendors also mess up IPv4 implementations as well, but in my experience , v4 stuff is more often 'vanilla' coding issues, whereas v6 mistakes tend to be more basic functional errors, like handling leading zeros correctly.