Dnsmasq, and by extension Pi-hole display “opcode” whenever a non-query DNS packet is received.
There are multiple DNS types (not to mention malformed requests) that can result in “opcode”. In the following table, every type except “Query”:
OpCode Name Reference
0 Query [RFC1035]
1 IQuery (Inverse Query, OBSOLETE) [RFC3425]
2 Status [RFC1035]
3 Unassigned
4 Notify [RFC1996]
5 Update [RFC2136]
6 DNS Stateful Operations (DSO) [RFC8490]
(from Domain Name System (DNS) Parameters)
I think the most likely explanation is that one or more of these non-query functions (particularly Status and Notify) could likely be being used by Fritzbox in their mesh system to coordinate the DNS servers present in the different Fritzbox nodes. I wouldn’t expect their frontline support team to be aware of such details. Alternatively, it could also just be sending mangled packets for some reason.
Either way, as these are not related to queries Pi-hole does not show detailed information about what Fritzbox is doing.
If you desperately need to work out more detail than this, you could try capture the dns packets using tcpdump.
On your pihole:
sudo tcpdump -i enp0s3 -n -vvvv host garage.fritz.box and port 53
(replacing enp0s3 with your network interface).
Don’t be surprised if it just turns out to be malformed requests.