Открыл. Там и правда дичь какая-то. Самый простой способ это сделать обычный anycast + локальный мониторинг что процесс не умер (но это и так делает systemd на актуальных дистрах)
Ага. Там даже про DoH ни слова, чистый udp:53.
Я лично бы просто анонсировал по bgp в сеть общий ip, повешенный на dummy интерфейс. И убирал этот адрес с интерфейса/гасил интерфейс при падении процесса, отвечающего за dns. Можно даже банально в systemd описать это как юнит, зависящий от юнита dns. Хотя это не все потенциальные варианты факапов закроет, но большинство конкретных случаев аварий за время эксплуатации это решит однозначно.