"Rate Limited" is not an error. It is a notification that one or more of your clients have been rate limited.
In your case, the client is the router, and from the brief snippet of the logs contained in your debug log, it appears that all your DNS traffic from clients is shown as coming from the router's IP.
In this case, if your router is rate limited, then all the individual clients are also being rate limited. During the active period of rate limiting, no DNS queries will be processed from the rate limited clients.
[2024-01-30 18:05:07.239 241M] Rate-limiting 10.88.0.1 for at least 21 seconds
[2024-01-30 18:05:28.056 241/T271] Ending rate-limitation of 10.88.0.1
@jfb I'm currently rate limited to 1k queries/min. I'm an average internet user; browsing a few different websites every hour. Is this rate limit way above what an average user needs? Or is it truly limiting for an average user? Your answer will help me put this in context.
Another option is to change how your DNS is laid out.
At the moment your router's DHCP settings tells clients to use itself (the router) for DNS. The router then uses Pi-hole for DNS. This means your Pi-hole sees all client traffic ultimately coming from the device that is the router. All that traffic added together is reaching the threshold for rate-limiting in your case.
The change would be to your router's DHCP settings to tell clients to use the Pi-hole for DNS. Also ideally change the router's own upstream DNS to be an external service (eg your ISP's DNS servers), not Pi-hole.
Now Pi-hole will see the same amount of traffic but it will be coming from all the different clients on your network and no one client is likely to trigger the rate limit. This approach also has the advantage that you can see which clients are accessing which services, and you can manage them individually too if desired.