Private DNS with a VPN is like pressing both the brake and the gas on a car. Both want to set the system-wide DNS resolver.
When I use the Private DNS feature of Android 10 and then connect to a VPN (tested with 3 VPNs) the Private DNS is used and the VPN DNS is ignored. On Android 9, my experience is the opposite, it always uses the VPN DNS (again tested with 3 VPNs) and ignores the Private DNS.
Does anyone know how this is supposed to work?