Very strange behavior that I can't figure out. I have the pi address set as my DNS (both IPv4 and 6) for my desktop computer (Windows 10), laptop computer (Windows 10), and iPhone (6s running iOS 12.4.1). My desktop is set to sleep after 2 hours of no activity, so overnight it is sleeping. In the morning, if I use my iPhone from bed in the morning I notice that queries are being logged and ads are being blocked. The moment I get up and wake my desktop computer, the queries from my iPhone stop registering in the PiHole log and ads are no longer blocked. Telling the computer to go back to sleep does not fix the problem, even if I wait about 30 minutes and renew the lease on my phone. The following morning, ad blocking on the phone will be enabled.
During this time, the PiHole is registering queries from both my desktop computer when it wakes up as well as my laptop computer.
From review of your debug log, this does not appear to be a Pi-Hole issue. It is correctly resolving received DNS requests.
A few things I would check:
When your iPhone is not sending DNS queries to the Pi-Hole, they have to be going somewhere. When the problem is active, on the iPhone see which DNS servers are being assigned - Settings > WiFi > select the circled "I" next to your active network connection (which should be your router SSID) > DNS/Configure DNS > see which DNS servers are assigned.
Without making changes to the network or other clients on the network, clear the DNS cache on the iPhone by putting it in airplane mode for about 10 seconds, then back out of airplane mode. Recheck the DNS as above and see if it has changed.
Check the Windows machine for any DNS server running.
A packet sniffer like Wireshark would show any DNS traffic. It would also show all LAN traffic to/from that device when it wakes up.
The other thing I would try is to put the iPhone in IPv6 link local for a test, and to disable IPv6 on the router and see if eliminating IPv6 resolves the problem.