Yes, I know about RFC 7217. But I also know that default network setup in recent Linuxes, Android and iOS all uses privacy extensions. And even if they can be disabled, I want to keep them -- they are there for a reason, I don't want to give every single internet website a permanent, unique identifier.
This is not an insolvable problem. I can write another daemon to keep the history of IP<->Mac associations, change my accounting scripts to look the matching MAC, change the firewall to filter based on mac address, and so on -- but it is a lot of work, and no benefits.
The NAT is not a problem at my home network, generic openwrt router has enough CPU power for my bandwidth. Direct addressing for each device is useless, as I would still have to list every port and every device I want to expose -- even if NAT goes away, the firewall with default-deny incoming policy stays.
This, IMHO, is the biggest problem with IPv6 adoption. If this was only "recompile the problem and change IP address regex", then we would be done ages ago. Instead, it just got strictly worse for most small network owners.