In your Tailscale DNS panel, disable "Use with exit node" option for your nameservers.
When turned on, that option actually allows you to talk directly to nameservers without tunneling DNS queries through the exit node. Since Quad9 in fact has a worldwide CDN, this would leak your (general) DNS query location.
I believe Tailscale send the queries in parallel and fetch the faster response, which is Quad9 in this case. Ideally for your use case, all your queries should be able to reach and show up in Pi-hole's logs. Use tailscale dns commands for further debugging
Do a DNS rewrite at AGH, but instead of the LAN IP make it the Tailscale IP of your NPM machine. Then configure AGH's IP address as one of the global nameservers on your Tailscale admin panel
Delete all A/AAAA records on Cloudflare, only use it for registrar purposes and the occassional certs authentication.