High hardware load for hostname handling

Hey,

I have TP-Link Archer C7 v5 and it is running mostly fine but whenever I push more traffic using hostnames in my local network CPU gets capped and router hangs up.

I know that the hardware is not fantastic but it does not seam like a very complex operation to me.
I have two questions:

a) Is there some config I should change (most things are as default)? (full config bellow)

b) Can I setup adhock offloading of hostname/DNS handling?
Most of the time I am using hostnames is while tinkering with my home server. It is off most of the time, so I can not just run pihole on it and use its main name server for my router or a VM of OpenWRT leaving my router as AP. Can I set that when it is on use hostname/DNS handling from it if not user routers native?

In case you were wondering how my uci show dhcp looks:

dhcp.@dnsmasq[0]=dnsmasq
dhcp.@dnsmasq[0].domainneeded='1'
dhcp.@dnsmasq[0].localise_queries='1'
dhcp.@dnsmasq[0].local='/lan/'
dhcp.@dnsmasq[0].domain='lan'
dhcp.@dnsmasq[0].expandhosts='1'
dhcp.@dnsmasq[0].authoritative='1'
dhcp.@dnsmasq[0].readethers='1'
dhcp.@dnsmasq[0].leasefile='/tmp/dhcp.leases'
dhcp.@dnsmasq[0].resolvfile='/tmp/resolv.conf.d/resolv.conf.auto'
dhcp.@dnsmasq[0].localservice='1'
dhcp.@dnsmasq[0].ednspacket_max='1232'
dhcp.@dnsmasq[0].rebind_protection='0'
dhcp.@dnsmasq[0].address='/home/[local-ip]' '/boom/[local-ip]'
dhcp.lan=dhcp
dhcp.lan.interface='lan'
dhcp.lan.start='100'
dhcp.lan.limit='150'
dhcp.lan.leasetime='12h'
dhcp.lan.dhcpv4='server'
dhcp.lan.dhcpv6='server'
dhcp.lan.ra='server'
dhcp.lan.ra_slaac='1'
dhcp.lan.ra_flags='managed-config' 'other-config'
dhcp.wan=dhcp
dhcp.wan.interface='wan'
dhcp.wan.ignore='1'
dhcp.odhcpd=odhcpd
dhcp.odhcpd.maindhcp='0'
dhcp.odhcpd.leasefile='/tmp/hosts/odhcpd'
dhcp.odhcpd.leasetrigger='/usr/sbin/odhcpd-update'
dhcp.odhcpd.loglevel='4'
dhcp.@host[0]=host
dhcp.@host[0].name='server'
dhcp.@host[0].dns='1'
dhcp.@host[0].mac='[MAC]'
dhcp.@host[0].ip='[local-ip]'

P.S. I am probably conflating some terms in my explanation. Feel free to educate me.

Could there be some loop in the resolving of these hostnames, creating as a result this cpu load to hang the router?

How would I check for it?
I the log I see some repetition but it does not look too bad:

Sun Sep  4 12:36:07 2022 daemon.info dnsmasq-dhcp[2494]: DHCPDISCOVER(br-lan) 0.0.0.186 00:00:00:e9
Sun Sep  4 12:36:07 2022 daemon.info dnsmasq-dhcp[2494]: DHCPOFFER(br-lan) 0.0.0.186 00:00:00:e9
Sun Sep  4 12:36:07 2022 daemon.info dnsmasq-dhcp[2494]: DHCPREQUEST(br-lan) 0.0.0.186 00:00:00:e9
Sun Sep  4 12:36:07 2022 daemon.info dnsmasq-dhcp[2494]: DHCPACK(br-lan)  0.0.0.186 00:00:00:e9 HOST1
Sun Sep  4 12:36:09 2022 daemon.info dnsmasq-dhcp[2494]: DHCPINFORM(br-lan)  0.0.0.186 00:00:00:e9
Sun Sep  4 12:36:09 2022 daemon.info dnsmasq-dhcp[2494]: DHCPACK(br-lan)  0.0.0.186 00:00:00:e9 HOST1

A few dozens of static leases + hostnames will not bother a 720 MHz mips 74Kc device with 128 MB in the slightest. I've ran my tl-wdr4300 (560 MHz, 128 MB RAM) with ~280 static leases (/14 subnet), a dozen CAMES and other DNS specialties for years, while also using (a light(er)) set of luci-app-adblock rules with 40'000-60'000 blocked domains. Adblock can make that setup choke (when dnsmasq starts forking itself to answer tcp requests), your local DNS shenanigans with a few hundred entries won't.

This is for DHCP. You need to make sure that the other nameserver where you are forwarding the queries is not sending them back, creating a loop. Other than that your setup should not be bothered by this, as @slh mentioned.