На самом деле с DNS самый простой вариант, я не понимаю, почему он вам не подходит.
Скрипт (если вы пользуете первый вариант) никак не связан с локальным DNS - он только проверяет, изменился ли внешний IP и отправляет его на DynDNS, если поменялся.
Второй вариант может не работать потому что использует команду resolve без аргументов - значит, по умолчанию пытается разрешить имя на том же роутере, а роутер выдает внутренний адрес 192.168.1.10. Чтобы избежать этого, надо применять resolve с явным указанием внешнего DNS-сервера. Это делается вот так:
:resolve "www.mikrotik.com" server=77.88.8.8
Что касается дополнительной донастройки DNS на машинах в локальной сети - ну так вы можете раздавать их через DHCP. И вообще не очень понятно, какая дополнительная донастройка нужна, если у вас роутер прописан в качестве DNS-сервера.