I've seen and read several posts on this and the majority of what I read was "switch to pihole DHCP" or "modify /etc/hosts/ on the machine". The latter of the two being incredibly in unideal I switched from my router controlled DHCP to pihole. On doing that it seemed like all hostnames were ignored and I could only access things via ip; I switched back.
I'm feeling kinda hopeless. I know it seems trivial to use hostnames over IP but when you have a family as big as I do and the amount of people coming in and out of the network as I do you really want to simplify everything for the end user.
With pihole filtering my main use case here, how the heck am I supposed to arrange my network settings so that hostnames are viable?
Check if your router is capable of correctly answering DNS requests for local hosts, e.g. by running
nslookup <de.vi.ce.ip> <ro.ut.er.ip>
Substitute <de.vi.ce.ip> and <ro.ut.er.ip> as appropriate (e.g. nslookup 192.168.0.42 192.168.0.1).
Your router should answer with a hostname for your device.
If it does, you could try to enable Pi-hole's Conditional Forwarding via Settings | DNS.