@RickyBaker unbound is a resolver.. Ie if you ask it for www.somedomain.tld it will ask the root servers, hey what is the NS (nameserver) for .tld, then ask hey NSers of .tld what is the ns for somedomain.tld, then hey ns for somedomain.tld what is the IP address of www.somedomain.tld
You can see this in action with say a dig www.netgate.com +trace.
; <<>> DiG 9.18.16 <<>> www.netgate.com +trace +nodnssec
;; global options: +cmd
. 75782 IN NS j.root-servers.net.
. 75782 IN NS k.root-servers.net.
. 75782 IN NS b.root-servers.net.
. 75782 IN NS m.root-servers.net.
. 75782 IN NS f.root-servers.net.
. 75782 IN NS i.root-servers.net.
. 75782 IN NS l.root-servers.net.
. 75782 IN NS d.root-servers.net.
. 75782 IN NS a.root-servers.net.
. 75782 IN NS g.root-servers.net.
. 75782 IN NS e.root-servers.net.
. 75782 IN NS h.root-servers.net.
. 75782 IN NS c.root-servers.net.
;; Received 239 bytes from 127.0.0.1#53(127.0.0.1) in 0 ms
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
;; Received 840 bytes from 198.97.190.53#53(h.root-servers.net) in 27 ms
netgate.com. 172800 IN NS ns1.netgate.com.
netgate.com. 172800 IN NS ns2.netgate.com.
netgate.com. 172800 IN NS ns3.netgate.com.
;; Received 230 bytes from 192.12.94.30#53(e.gtld-servers.net) in 39 ms
www.netgate.com. 60 IN CNAME 1826203.group3.sites.hubspot.net.
;; Received 118 bytes from 208.123.73.80#53(ns1.netgate.com) in 48 ms
[23.09.1-RELEASE][admin@sg4860.home.arpa]/root:
I did it without dnssec so easier to read.
Now this info will be cached, so if you ask for say somethingelse.somedomain.tld it will just ask the ns for somedomain.tld directly.
With a forward, when you ask say 8.8.8.8 for www.somedomain.tld, it will either have that already cached, or it would have to resolve it just like the above, or it will itself forward to some other dns that is a resolver. Resolvers is how the internet works.. Without resolvers dns would never work.
As to register dhcp, no that restarts unbound every single time there is a dhcp event, client gets an IP, client renews an IP, etc.. Look in your log is unbound restarting - look for next time you have an issue - was unbound restarting, or restarted exactly when you had your dns problem?
If you register static dhcp, then this only restarts unbound when you add a new record for static dhcp.. But with register dhcp every single dhcp event will restart unbound.
If you only have a few clients, and a decent length lease time so there are not many events then you may never notice it.