I'm not suggesting cloudflare or public cloud by any means. It is not hard to run your own infrastructure on a small scale. However, you can play around with k8s/k3s without making it the lynchpin of the network infrastructure.
I mentioned BIND being the reference implementation for a reason. Every single DNS feature will be supported in BIND. In X years when something new and cool comes and/or k8s/k3 becomes somewhat "legacy" and people move onto the "next" infrastructure, CoreDNS has a very real chance of becoming something like Designate. It works. It's fine. BIND will keep ticking. I haven't had to adjust my named.conf (other than adding hooks for things like the sig-external-dns addon) in over a decade.
Do whatever you want with most of it. DNS in particular should be boring, stable, and able to run on a potato.
> making a mistake ... in banking on CoreDNS Well, I'll start by quoting the article: "Sanely hosting services 101 ... The first step is to not be us ... we created a lot of complexity that was generally [un]necesssary." You are 100% right in saying that BIND is more than likely a better solution than CoreDNS. And although some of it is "well, I found this that should work," it sometimes boils deeper, namely in the case of CoreDNS. It's something included in every pod of K3s and makes sense to get familiar with; which loops back to the start of wanting to learn how things work.
tl;dr : I appreciate the insights! Things are done for: a reason, for fun/experiment, or no reason. The Internet has some expected uptimes (not to say we don't for our intranet), but considering the small circle of trust, we aren't as constrained to the angry fist-waving when it goes down, rather we're all trying to figure out what happened, how to fix it, and how to prevent it from being an issue again: a fun "practicum," per se.