No, you misunderstand mDNS - have a read at the link I provided above.
mDNS does not require a dedicated server, nor does it require every client on the network to understand mDNS to operate correctly.
In layman's words, your printer will broadcast its name and its services to the network it is connected to. Each mDNS client will then pick up this information and update its local mDNS list accordingly. Likewise, your Apple devices will broadcast their names each, so any mDNS client will be known by name.
Pi-hole's DNS is not involved in any of this.
You may have a point about DHCP.
Your printer may not be able to solicit an IP address via DHCP from Pi-hole.
That could happen if your Pi-hole and your printer are located on different network segments with no DHPC relay agent between them.
However, I would expect an error message on your printer in that case, and your printer's MAC would not show on Pi-hole's DHCP panel.
From what you wrote, it seems unlikely this is the case, but better check.
I also recall a recent other post complaining about a network printer, but I think it was in German. I'll post again if it's relevant here.
EDIT:
It isn't in German, and it doesn't mention AirPrint, so it may not be related.
I link it nevertheless: The OP of Network Printer Issue with Pihole - #20 by englischdude was able to resolve the issue by disabling IPv6, updating the printer's firmware and powering down printer, Pi-hole and router.