Right, I got that from this very issue a while back, so all credits to the participants there.
Anyway, as I don’t have a Pixel at hand, wasn’t there actually a setting for which server to use? Or was it just GOS, Google and Disabled or something?
Regardless, you could technically use another server, either by manually/programmatically setting it via ADB or with root. I don’t know if it is exclusive to root mode, but the firewall app “De1984” for example has a setting for which server to use.
ADB would be (for completeness all settings):
adb shell settings put global captive_portal_http_url http://...
adb shell settings put global captive_portal_https_url https://...
adb shell settings put global captive_portal_fallback_url http://...
adb shell settings put global captive_portal_other_fallback_url http://...
For verification:
adb shell settings get global captive_portal_... [without URL]
…or for disabling:
adb shell settings put global captive_portal_detection_enabled 0
A server would just need to serve a 204 code, so I guess you could also self-host this.
Public server addresses for the privacy-minded are for example:
GrapheneOS’s servers
http://connectivitycheck.grapheneos.network/generate_204 https://connectivitycheck.grapheneos.network/generate_204
German IT security researcher Mike Kuketz’s servers
http://captiveportal.kuketz.de
https://captiveportal.kuketz.de
Yes, like @anonymous602 said, it is a different issue and comes down to intent philosophy. Google has a legitimate reason not to “fix” this one, so servers are actually reachable to check if a connection even reaches the internet.
(Also, Android might bug you about this, from the exclamation mark next to WiFi/mobile to a notification about not being able to reach the internet.)
But this check is not really necessary AFAIK, you could just ignore it and the connection will probably still work. The descriptor is also ambiguous to misleading, because not all connections are blocked. This is where the opposite opinion comes from.
Someone please correct me if I’m wrong, this is how I understand things.