Dnsmasq[1035]: Maximum number of concurrent DNS queries reached (max: 150)

Am I assuming correctly that your FB uses Pi-hole not only as its upstream DNS resolver, but it is also distributing Pi-hole as local DNS resolver via DHCP/RA?

That is very likely the case, and your screenshot suggests that you've also enabled Pi-hole's Conditional Forwarding.
Such a configuratioin would close a partial DNS loop:
A client in the guest network sends a query for the domain 'local` to your guest network's Fritzbox, and as that is unknown by FritzBox's intrenal DNS resolver, your FB forwards it upstream to your Pi-hole. Pi-hole doesn't know that domain neither and forwards it back to your router, and so forth, causing the time-out.

You should try to address that at the client first: Try to stop it from issuing that query in the first place.

That said, I ocassionally observe some smartphones clients to issue DNS queries for unknown non-dot hostnames myself.

In such a case where you cannot control that behaviour on the client side, you could use Pi-hole's client-specific filtering to your advantage.
NOTE: This will only work if my above assumption was correct, and your FB router is also distributing PI-hole as local DNS resolver via DHCP/RA.

a) create a Group 'guest net fltering' and attach adlists as desired, or none if your guest net should not be filtered.
b) add your FritzBox as a Client and attach it to your 'guest net fltering' group
c) block those non-dot domains(and respective reverse lookups) for your 'guest net filtering' group by adding the following by adding the following regex, and attach them to your 'guest net fltering' group:

^[^\.]+(\.fritz\.box)?$
0.8.e.f.ip6.arpa;querytype=PTR
x.x.d.f.ip6.arpa;querytype=PTR

EDIT: You'd haved to substitute the latter with the respective digits specific for your network, e.g. 8.0.d.f.ip6.arpa if your ULA prefix would start with fd08.