/Quinn,
Glad you asked. The main reason for my question is because our App is a Custom VPN. When connected to CarPlay we can query the system and get the Primary network interface which is the Cellular interface. But, once our Custom VPN app is running the Primary is now the VPN TUN instead of the Cellular interface, which we need to pass data.
The typically way we get around this is to then query for all the Active interfaces, giving preference to Wifi over Cellular. So now we are trying to use the Wifi interface for data when it's being used for CarPlay. I suspect the same issue would occur when the phone is being used as a hotspot but I have not tested that.
In any case, I have found a "work around" that works. We now are looking at the WifiNetworkType and if it has a non-zero value do not use it.