ControlD and WIndscribe (a VPN) are sister services. So I think they have valid technical reasons for this (and I believe they have explained them in the documentation or a blogpost somewhere). I don’t think there is any evidence that this is some sort of anti-VPN sneakiness.
I believe one of the reasons DOH and VPN connections is because ControlD is a Network / DNS filtering service. A common use case is ‘whole home’ or ‘whole office’ filtering, and alternative DOH or VPNs are a way people on those networks may circumvent (intentionally or unintentionally) the network wide filtering. which the network admin/owner may not want.
Its not a very detailed answer but this is from the FAQ:
It depends, but you probably shouldn’t. On most devices and with most VPNs, it’s simply not going to do anything, since when you connect to a VPN, you usually end up using the DNS server pushed by your VPN provider. There are exceptions to this, like Private DNS on Android, or if you configure DoH directly in the browser.
If you end up using Default Location or the unlocking capabilities of Control D, using a VPN will slow everything down since you will end up triple proxying all your traffic. If that’s something that you want, then by all means do it, but the performance will suffer.
and a comment from a staff member I found from a reddit thread:
I see no good reason to use Windscribe and ControlD at the same time, however you can if you use a Private DNS resolver in Android, it will supersede the VPN DNS. That being said, you will likely have severe performance issues if you’re using Global proxy mode in ControlD on top of your VPN connection, since you effectively do this to every single packet:
You → Windscribe server → ControlD server → Global proxy exit location.
This is effectively a triple hop. The whole point of ControlD is that it doesn’t require any apps.
There are a handful of user reports if you search saying it is possible to use the two services together just not recommended. But I haven’t read any of those as I don’t use ControlD