I have the (more or less) same setup. Your DNS entries on your pihole instance should point to the local ip of your server (192.168.x.x).
If thats the case check the dns settings of your router. Under DHCP settings there should be a input field for your dns server. This has to be the local IP of your pihole.
One thing you could do to start diagnosing the Problem is running this command: nslookup servicename.yourdomain.tld
. This should return your local IP and not a public one.
How do you determine that the requests are leaving your Network?
Check out Serve the home's TinyMiniMicro project: https://youtube.com/playlist?list=PLC53fzn9608B-MT5KvuuHct5MiUDO8IF4&si=1Yx9e7TqLSUlYF3g
This is the route I went. SFF PC with I5 3rd gen, 8GB RAM and about 20 docker Containers running at the moment @ 10% - 15% CPU usage and 3GB memory.
Power consumption is around 15W. A bit more than a Raspi but much more potent and with a easy upgrade path.
So far I have absolutely no rerets. For most things self hosted the cpu is not that important. Even transcoding is no problem with the integrated iGPU.
If you have further questions I am happy to help.