Planning routes is available via BMW ConnectedDrive but for some reason it's only available to Europeans. So I mean the functionality of what you want to do is there, it's just not available to North America which suggests that it would eventually come to North America.
You're right in that car manufacturers are very good at making cars, but electronics like the infotainment system, they're not that good at. But this is where our opinions differ. BMW could easily say screw it, let's just offload all infotainment to a third party but the downside of that is they would be dependent on that third party and their update cycle. Any issues, BMW is now at the mercy the third party. If you're going to sell a vehicle at a premium, you have to be able to address any issues as soon as you can - this can only be done if you have control, something BMW currently has with iDrive.
I also agree with you that if a customer expecting CarPlay doesn't find it a car whether it be BMW, Audi or Mercedes, some will move on. Some. Of course a few customers are going to look away from premium vehicles if there is no CarPlay, but I'm willing to assume that having CarPlay isn't as critical to the premium brands than it is say Toyota, Ford, Honda, etc.
I'm not saying you're wrong, I'm right, if you don't like it, move on. I'm just voicing an opinion on why premium vehicles, specifically BMW, are so delayed in allowing CarPlay. They would rather develop their system in-house without having to rely on others and I think they're doing a great job. Sure iDrive still lacks some functionality but so do other infotainment systems. iDrive has come a long way and its no wonder that it's arguably top 5 if not top 3 in infotainment systems.
With regards to the MINI, the infotainment system should be the most current and would be equivalent to iDrive in today's BMW. Unfortunately, I have a feeling that you'll run into that disappointment where you're content with everything about the car but MINI Connected (iDrive). Again, it's a good system but just doesn't do what you want it to in its current state.