I'm running into a similar issue and I've pretty sure I'm using the same config statements, even added the firewall rule to allow the DHCPv6 messages, but the router seems to just ignore them.
/ipv6 dhcp-server option
add code=23 name=dns value=0x26064700470000000000000000001001
/ipv6 dhcp-server
add address-pool="" comment="Windows client need this for DNS server" dhcp-option=dns interface=bd.main lease-time=1d name=main-dhcpv6
/ipv6 firewall filter
add action=accept chain=input comment="accept DHCPv6 solicit for DNS" dst-address=ff02::1:2/128 dst-port=547 in-interface-list=LAN log=yes protocol=udp src-address=fe80::/10 src-port=546
I see in my logs that the packets are making it to the router and at least matching the rule.
11-20 20:06:07 firewall,info input: in:bd.main out:(unknown 0), connection-state:new src-mac 8c:ae:4c:c6:24:e9, proto UDP, [fe80::cacd:e10e:5bce:abf3]:546->[ff02::1:2]:547, len 120
11-20 20:06:08 firewall,info input: in:bd.main out:(unknown 0), connection-state:new src-mac 8c:ae:4c:c6:24:e9, proto UDP, [fe80::cacd:e10e:5bce:abf3]:546->[ff02::1:2]:547, len 120
11-20 20:06:12 firewall,info input: in:bd.main out:(unknown 0), connection-state:new src-mac 8c:ae:4c:c6:24:e9, proto UDP, [fe80::cacd:e10e:5bce:abf3]:546->[ff02::1:2]:547, len 120
However my packet capture on the host doesn't show any response from the router
I've tried with using the DNS server's IPv6 address as the value, like mikey's original config snippet showed, and I've converted it to hex; neither worked. The link to the hex tool in this thread doesn't seem to be working right.
I'm running RouterOS 7.12 on a RB2011UAS-2HnD.
Any suggestions?