In my (our) case we use bind to run an authoritative resolver for our domain (I am sysadmin for a uni computer society, we have our own (physical) servers)
for better or worse it is, (though I don’t recommend newcomers to boot up a bind server to manage their dns, pihole is probally the best starting point)
This is it for me. I used to use caddy a few years ago because writing config files was a breeze. Now I “use” nginx because I can define everything in a few lines of nix and it’s configured automagically for me.