Thank you so much for looking over my log and explaining what was happening.
I am super new to pihole, so learning about these problems and how to fix them really helps. And as a result of that, I am also becoming familiar with how to use Dnsmasq.
I tried flushing the log multiple times but it would just hang. The pihole.log was 5gb I think so that, mixed with a maxed cpu, probably didn't help.
I did a "pihole uninstall" last night then started over fresh noting any major changes I made and I found a few mistakes that I made.
I referenced this guide: How do I configure my devices to use Pi-hole as their DNS server?
First, on the ddwrt router, I used dnsmasq to set dns and I had 3 dns entries in my static dns fields. I used my pihole ip+two other inactive ips on the Lan. I also had 'local dns" and "gateway" filled out. This was a combination of numbers 1 and the first part of 2 in that guide.
Step 2 of that setup guide should really say to set those entries to 0.0.0.0.
I am now only using dnsmasq and the other entries are all 0.0.0.0.
Second, on the pihole's admin page for dns settings, I didn't have my router ip set in the upstream dns. I had only the public upstream dns servers checked. (Google, opendns, etc).
Another variation of this that didn't work for me was having my custom upstream set to my router AND had a public dns server checked. This resulted in the Pi being unable to resolve.
I haven't turned on conditional forwarding yet, but I am going to do that tonight.
Why can't I check a public upstream dns only and no custom upstream to my router? And why can't I use a combination of public upstream dns and a router custom upstream dns entry? (both result in the Pi being unable to resolve itself)