The current possibilities of defining a name server when serving as DHCP Server is limited to IP addresses:
https://docs.vyos.io/en/sagitta/configuration/service/dhcp-server.html#cfgcmd-set-service-dhcp-server-shared-network-name-name-name-server-address
The system name server can also be the received name server of any interface that's been configured as DHCP client and has sucessfully configured that way. BTW, the documentation is not representing all options VyOS itself offers.
https://docs.vyos.io/en/sagitta/configuration/system/name-server.html#cfgcmd-set-system-name-server-address
It would be nice to have the name server pushed by the dhcp server to be the name server received by a specified interface.
Use case:
Backpack VyOS machine with battery: Logging into constantly changing public or paid WiFi access points (airport, café, train, etc.) requires to fill a captive portal, sometimes with voucher codes. The portal often comes from a domain entry that is basically hosted in some type of private class network, so public resolvers won't work from here.
Now when using an adguard container as dns filter for saving expensive paid traffic, there is no way to point it to the DNS that holds the captive portal IP, since it's upstream DNS servers are IP addresses. Using the VyOS DNS forwarder configured to use the dns server from a DHCP client interface, will currently result in no DNS answers to the VyOS clients.