From my understanding there is no reason a OS level resolver library can't support DoH, I am surpised we haven't seen whatever Linux uses add support for it. Or maybe it did and I missed it.
https://github.com/systemd/systemd/blob/master/meson_options...