It's probably not "Free" per se, more like in future models they'll bake the lifetime cost into the overall price of vehicle, instead of itemizing it, like they do now.
They didn't make this change because they actually wanted to save you a bunch of money, more like the bad publicity of charging for it made them cave and restructure the way it will be billed.
Consumers are sometimes very black and white in their purchase decisioning making. For example, my stepdad walked on a $50,000 vehicle I had just negotiated $7,000 off on for him, simple because it didn't include the $600 remote start feature for free.
That's the level of tone-deft reasoning is common for the typical auto consumer today.
BMW marketing knows what they're doing and BMW does use the in-vehicle data stream to support certain aspects of CarPlay, so they do incur an active cost, it's just now they choose to eat it to save face in eye of the consumer.
.