I've only dabbled in IPv6, but the one thing that blew my mind was that you cannot set DNS automatically without DHCPv6. Other methods of "automatic addressing" are thus useless.
Ans what software do support it? There are tons of these IPv6 RFCs which is not supported by "common" software - Linux and FreeBSD daemons, nsd, unbound, etc.
How could I implement this in my home network, with off-the-shelf SOHO router or even something like OpenWRT / custom OSS-based "firmware"?
Android ignores any IPv4 DNS address it gets if it gets an IPv6 address. Instead it falls back to Google's own DNS servers. So if you got Android devices in your house, you need to configure a IPv6 DNS server. AFAIK a IPv4 DHCP server can't hand out a IPv6 DNS address.