DNS or DHCP which is better

I have V5 up and running and I'm liking the results. No one in the house has complained about something not working so that's a big WIN.

Currently I have Pi-Hole setup as my DHCP server as I was unable to get DNS working on my Netgear router running dd-wrt.

I ran into an issue today where we had a power and internet outage and things did not recover gracefully. Pi-Hole is running on a VM currently and it seems that even though the power blip didn't take down the VM the internet outage and subsequent modem and router power cycles has cause an issue with Pi-Hole not serving up IPs.
Currently I am at work so I am unable to T-shoot the issue fully.

The real reason for this post is looking at options moving forward to make my network setup more stable and better able to recover from power/internet outages.

What is the difference in setting up pi-hole simply as the networks primary DNS vs setting pi-hole up as the networks DHCP server.
I really like the groups feature as I have 2 early teens in the house and would like to keep this.

Is it still in the faulty state or did you restart everything already? Whatever, you should check your logs (look for /var/log/pihole.log and /var/log/pihole-FTL.log) around the time of the outage and some time after if you see anything abnormal. Difficult to say what is "abnormal", however, compare it to "normal" operation before the outage, maybe.

I don't think the Pi-hole being the DHCP server can be the reason for trouble here so this will not change even when you manage to move DHCP onto the router.

Are they a frequent issue for you? Outages actually were a thing for me before I moved into my new apartment (praise Dutch power grid). I had Pi-hole on an actual Raspberry Pi and it "died" once a month if not more often. However, it always came back up to full operation without having to do anything. But you said your VM stayed running so this may be different.

I'm not sure of the status currently as I am unable to access it from work, either it's still down or my main IP has changed. I'm leaning on still down as my VPN connection isn't working.

I'm mostly curious what the differences are between the DNS setup and the DHCP setup are. Will I lose functionality, features, et al?

Pi-hole's primary domain is DNS. Its DHCP server option only exists to help owners of very restricted routers that do not allow to alter DNS settings the way they want to.

You may incur a minor one-time additional effort in order to show the desired hostnames for client devices in your network if your Pi-hole is DNS only.

You won't lose anything with regards to Pi-hole's DNS filtering.

I assume there is a guide on how to do the required setup?

Nice, I really like the per client control.

You would have a few options to choose from to resolve local hostnames when those are managed by a different DNS server in your system (i.e your router, commonly).

  1. configure your router as Pi-hole's sole upstream DNS server in Settings|DNS.
    Also make sure that Never forward reverse lookups for private IP ranges is not checked for this to work.
  2. enable Conditional Fowarding in Pi-hole, also Settings|DNS
  3. configure a Custom DNS record for each of your devices

I have Pi-hole running on a RaspberryPi, along with ubound. I am using Pi-Hole as my DHCP server.
A few observations. It seems that the DHCP server "reuses" a previously allocated IP. For instance, on a power spike, an already allocated IP for a device is just reallocated. (I think most DHCP do it) It seems that this is not quite the full process that is used in a full "new" DHCP allocation.
Windows 10 does all sorts of strange things when it encounters a network outage. It seems to set itself up with temporary "fail safe settings" which seem to be reset when "normal" service is returned.
To see what happens (when you are able to test ) do an ipconfig /all from a windows shell to see what has been set. In particular look at the gateway entry.
The other thing that muddies the waters is that Firefox (and i suspect chrome) when it encounters an outage where the internal network is intact but there is no access to the internet it thinks that a network logon is required so tries to detect what portal is being used.
This may happen when your modem has restarted but it does not have access to the internet, because its still doing a DHCP to logon to your ISP provider. Its a nuisance for trouble shooting and will disappear when the link is up, but users panic when they see it especially in the middle of a facebook session.

One other observation with the Pi-Hole DHCP regarding names. Some older devices don't handle names well. In these cases, Pi-hole may display a name of "unknown" or of the last allocated DHCP. The name is not real its just a "leftover". If you add the device as a static IP with its name it will then be displayed. correctly.