DHCP does give you a globally unique IP address when your ISP has allocated a prefix to your router, that's how all the Internet-connected IPv6 devices get their addresses. Where is our misunderstanding?
For many of these systems, I don't control the user's router. I don't know how you imagine I'm supposed to create DNS records for each device when they're assigned some random IP address at some random network I don't control.
Have the device ping a central server and create randomword.centralserver.com, for example. However, if the problem is the DNS record, why has this thread been exclusively about globally routable IP addresses until now?
In https://news.ycombinator.com/item?id=45957048, addisonj suggested that the problem stems from the distinction from "local" and "global", and that with IPv6, you don't need that distinction.
That quite naturally flows into the question: okay, how are these devices supposed to get global IPv6 addresses then?