So this may seem slightly bizzare, but what DNS servers is your OPNsense server configured to check? I've noticed if my forward lookup DNS servers are slightly on the slow side (such as the root nameservers), I'll get the occasional DNS timeout like you're experiencing. Have you tried one with good anycast and response times like Cloudflare (1.1.1.1) or Google (8.8.8.8)?
Additional: Your ISP router is in bridge mode, right? You're not doing double NAT? Not really related to DNS issues (usually), but worth making sure.
Additional: Your ISP router is in bridge mode, right? You're not doing double NAT? Not really related to DNS issues (usually), but worth making sure.
"