Because some things require unencrypted local connections. Other use public DNS servers for lookups, ignoring your local DNS server unless you’re going to get really fancy and technical.
A reverse proxy doesn’t have to be complex. For those running in Docker Traefik is incredibly trivial to set up. Even NGINX isn’t terribly hard (hell, there’s an add-on), and other tools like HAProxy and Caddy are also not that complex.