> mDNS operates at the link-local scope (link-local addresses)
This is not the case for the addresses returned. See eg https://www.rfc-editor.org/rfc/rfc6762
6.2. Responding to Address Queries
When a Multicast DNS responder sends a Multicast DNS response message
containing its own address records, it MUST include all addresses
that are valid on the interface on which it is sending the message,
and MUST NOT include addresses that are not valid on that interface
(such as addresses that may be configured on the host's other
interfaces). For example, if an interface has both an IPv6 link-
local and an IPv6 routable address, both should be included in the
response message so that queriers receive both and can make their own
choice about which to use. This allows a querier that only has an
IPv6 link-local address to connect to the link-local address, and a
different querier that has an IPv6 routable address to connect to the
IPv6 routable address instead.
So instead of using static ULA addresses, you can use the the routable address returned by mDNS. It can often replace the ULA address use case.