The DNS server traditionally ends up in /etc/resolv.conf, with modern-day Debian it's in /var/run/NetworkManager/resolv.conf. Mostly I've removed wi_cd and NetworkManager because they're unreliable.
I've never used a Pihole, just hosts files that trap advertising URLs into 127.0.0.1. ip route is different than DNS, it should show the shortest path to the internet (try typing just route at a terminal). DNS is Domain Name Service, it looks up URLs and converts them to numbers (IP addresses). For Pihole to work though it needs to be in your route, possibly as a gateway, so it filters by redirecting the ad URLs. Several machines can connect to it, you could even tie hostapd to it and make it into a filtered WiFi AP. Then something else needs to be the gateway for the Pihole machine, maybe your real router.
I'm using EasyTether which is an Android app and a Linux program on my Pi. So EasyTether's IP of 192.168.117.1 is my gateway. I manually copied a bunch of ad URLs from a hosts file AdAway set up on my phone, that does the ad blocking. Then i used the scheme at
https://pimylifeup.com/raspberry-pi-wire...ess-point/ which uses hostapd, dnsmasq and iptables so my WiFi network is on 192.168.1.0/24. And this Pi serves internet over WiFi to the whole house.
A decent free public DNS server is 8.8.8.8 which is run by Google. But machines on your network probably want to use the machine with dnsmasq because when it hands out an IP to a DCHP request it will also put that machine's hostname and IP into its DNS cache. So you can hit your local machines with a URL like
http://upstairs/index.html. Ssh and ftp amongst your local machines works very nicely using machine hostnames instead of IP addresses or maintaining hosts files like with static IPs.