I suspected as much, but then why does nslookup work when I address 9.9.9.9 directly? Is that tool using some other transport protocol? If so, can pihole be configured to use the same transport protocol that nslookup uses?
My router is a Nokia Wifi Beacon 2 imposed by my ISP (I hate it). Even when I turn off the firewall in its configuration panel, I get the same results. But the admin interface really sucks and I'm not convinced it's really turning off all inbound traffic blocking.
Here's the output you requested:
pmilot@pihole:~ $ mtr -n 149.112.112.112 --report -c 10
Start: 2026-05-07T07:51:56-0400
HOST: pihole Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.168.18.1 0.0% 10 1.0 0.9 0.8 1.0 0.1
2.|-- 198.58.198.32 0.0% 10 2.8 2.8 2.3 3.3 0.4
3.|-- 96.127.249.56 0.0% 10 2.8 2.8 2.2 3.4 0.4
4.|-- 96.127.249.41 0.0% 10 2.9 3.0 2.6 3.4 0.3
5.|-- 198.179.18.92 0.0% 10 2.8 3.1 2.7 3.9 0.4
6.|-- 109.200.218.66 0.0% 10 2.6 3.1 2.6 3.6 0.4
7.|-- 89.104.170.196 0.0% 10 3.6 3.8 2.7 9.3 2.0
8.|-- 149.112.112.112 0.0% 10 3.3 3.3 2.6 5.6 0.9
For good measure, I ran it with the -u option to force UDP as well (I'm not very familiar with the tool, I'm not sure if it's relevant):
pmilot@pihole:~ $ mtr -n 149.112.112.112 --report -c 10 -u
Start: 2026-05-07T07:53:33-0400
HOST: pihole Loss% Snt Last Avg Best Wrst StDev
1.|-- 192.168.18.1 0.0% 10 0.9 1.0 0.9 1.1 0.1
2.|-- 198.58.198.32 0.0% 10 9.5 19.2 2.7 66.6 19.3
3.|-- 96.127.249.54 0.0% 10 2.3 2.9 2.3 3.7 0.4
4.|-- 198.179.18.92 0.0% 10 16.3 5.8 2.3 17.0 5.7
5.|-- 109.200.218.66 0.0% 10 3.2 3.1 2.6 3.4 0.3
6.|-- ??? 100.0 10 0.0 0.0 0.0 0.0 0.0