yubiuser's advice is sound for most situations where a router wouldn't allow configuring DNS at all, i.e. neither upstream (WAN/Internet) nor local (LAN/DHCP) DNS settings.
I just add that you should make sure DHCP ranges do not overlap when multiple DHCP servers are active on the same network.
There may be additional trouble, though:
Following yubiuser's links to the Xfinity forums, it would seem that if you'd use certain ISP provided Xfinity devices, those would even block or redirect port 53, so you are bound to DNS servers as supplied by your router.
While your devices can be configured to use Pi-hole for DNS, Pi-hole itself may not be able to forward DNS requests to the DNS servers of your choice.
DNS won't resolve at all when blocked, or go to other DNS servers if redirected by your Xfinity.
You should be able to diagnose this by running the following command from two clients on your network,a cable and a wifi connected each:
nslookup flurry.com 18.104.22.168
That command should return
If it times out, this would indicate your router blocks public DNS.
If it returns an actual IP, your router redirects DNS requests.
If your router interferes with DNS; you could still point Pi-hole to use your router as its only upstream DNS server, but would have to stick with your ISP's set of DNS servers.
You may be able to mitigate this by using a DoH proxy. I'd better mention we receive occasional reports that DoH using cloudflared seems unreliable at times.