The big issue with VPN UX for me are all the ways that you can end up accidentally disabling your VPN, because it's not clear under which conditions it shuts down, is closed, or is temporarily inactive, which isn't good enough if you need 100% uptime for full protection.
Killswitches are the probably the easiest way to deal with it, because it will also alert users to when something is misbehaving, but it obviously doesn't work for general use cases so better UX is needed beyond the protective design.