I think this interpretation is a bit too negative. Undoubtedly the companies want to spy on you, and with Thread 1.3 they were already perfectly capable of doing so - via your Thread border router, which connects to the normal LAN and can talk to the Internet (if you let it). Allocating Thread devices from global IPv6 blocks (GUAs) doesn't change that, it just removes the NAT between Thread devices and the border router.
Before Thread 1.4 the IPv6 addresses used by the Thread network were all ULAs - i.e. the devices were only routable locally and didn't have a global IPv6 address, so if you did happen to want to talk to your Thread devices over the internet, it was possible but the Thread border router had to do NAT for you.
With Thread 1.4 the border router can assign device IPs straight from the global IPv6 block assigned by your ISP, which means you can directly access your Thread device over the internet without the NAT provided by the Thread border router.
If you don't want to locally host your smart home automations (you and I do, but the average consumer doesn't) this can be very useful. It's also really helpful if you want to access your own devices remotely over the Internet and not need to bother with port forwarding.
IMO this fits perfectly with the philosophy of IPv6 - every device can have a globally routable IP address without needing NAT.
If you don't want your devices reaching out to the Internet (like I don't), the solution is to put all that stuff on its own VLAN with no Internet access (which I do).