Happy Eyeballs isn't quite fully prevalent and it hasn't seen all failure modes yet nor how to deal with them.
Internets is a really hard problem. For starters: define "connected". My wife will sometimes suggest that our internet connection is not working - she implies that her laptop (Arch Linux - obvs) is completely broken. What is really happening is that Mr Zuckerberg's thang has wandered off for a break and a smoko.
This morning it was our mail server. Hit the wifi kill switch by accident then internet will not work.
I've disabled the kill switch.
With terminal apps I use as a developer, it's more of a crapshoot. curl and SSH work fine. I've seen others that don't.
Notably, Node.js's socket libraries can't fall back to IPv4 at all, even after the v6 connection times out. Node's DNS library actually overrides the default system behavior to prefer v4 over v6, probably for this reason. (This can be changed globally within a particular program, or on a per-lookup basis, but preferring v6 will allegedly become the default in an upcoming release.)
I've unfortunately had much experience with this due to major bugs in Comcast's modems.