I think that "simple" is the key word here.
Running your own DNS server isn't necessarily as easy as just using something like NameCheap or another domain name provider with a DNS manager. There probably are somewhat easy DNS servers out there, but in the case of BIND, the configuration format feels obtuse, things break in interesting ways and you'll probably need at least 2 of those servers for more resiliency.
Furthermore, you are assuming that there even is an administrative tool that can push certificates there in the first place, which isn't necessarily true in many environments. And then you also run into the fact that now you need to manage a PKI with all of the certificates, CSRs and now you'll also spend some of your time renewing all of the certificates.
Contrast all of those processes with just having the following in your Caddy web server's configuration (for public sites):
my-public-site.com {
reverse_proxy 10.0.4.5:8080
}
We'd need something equally simple: https://caddyserver.com/docs/automatic-https