Do I need to start populating my hosts file, if so is there any way to do that automatically when I visit a webpage?
/etc/hosts is not designed for that. It is designed to be used in some cases.
One would be before a DNS server is available or two would be setup for
an internal network that is using NAT. Try localhost for your webpage problem.
The slow response maybe latency from your ISP troubleshoot that connection
before proceeding. Some of the tools would be ping or traceroute, nmap may
also be some help.
Check your route to make sure the DNS is setup for the router. You could try to
change your DNS settings instead of directly to the router use the router and a
setup one of your ISP DNS servers as well.