To avoid syncing my calendar and contacts to the cloud, I'm using wireguard as a always on VPN on my phone, to connect to a locally running CalDav/CardDav server. Wireguard on Android can be setup to only affect specific apps, so my DavX app is the only one using the VPN.