A problem with IoT is also lack of hardware
Most microcontroller's don't yet support IPv6 (I've yet to find one).
For example, the Arduino has several Ethernet shields available - all only IPv4. The problem here is that the stack is implemented in silicon so without building a new chip then it'll never support IPv6.
What I do here on my home network (fully IPv6 by the way) is to run NAT64 on my router. That then provides an IPv6 address to all IPv4 only machines (Arduino, rooted Freesat box etc). This only allows IPv6 to access the IPV4 but it's enough right now for my purposes.
As for IPv4->6, the only way I've got to get it to work is via a proxy - but none of my machines talk to the cloud directly so not yet an issue.