What is the CORRECT way to get local hostname resolution without pihole as DHCP?

You can also map them in a dnsmasq configuration file in directory /etc/dnsmasq.d The advantage of mapping here is that this configuration file will be exported by the teleporter, while the /etc/hosts file will not be. This is true for V4.x; in V5 the hosts file will be exported.