I ran into the same thing, but eventually after a little trial and error I got it working. You just need to enter the IP of your local DNS server where he wrote w.x.y.z in the include.acl file through ssh/terminal. This forces the proxy to go through your local DNS server.
As for PiHole, there’s a few tutorials online (I watched Craft computing’s one) on how to configure PiHole. You have 2 options with PiHole:
Run it as its own recursive DNS server that blocks ad traffic.
To have it act kinda like a DNS proxy(?) in that it’ll filter out ads but will rely on an external DNS server to resolve Domains.
Setting it up recursively helps reduce your reliance on google or other larger providers. That said, I’m pretty sure IPfire does that part anyway if you don’t give it a DNS server in the Domain Name System tab (And you disable the Use ISP servers option).
PiHole also lets you configure it as a DHCP server if need be, But I don’t think that’s the most popular use case.
Sorry, there’s a lot of text there, hopefully that helps a little bit