Are you using /etc/resolv.conf?
I don’t use proton but I found with tailscale it’s much more stable to use systemd-resolved because it doesn’t overwrite resolv.conf. I don’t know if this is the case with proton as I don’t know how it treats different resolvers but I would look into it.
I use Tailscale on PFsense. Just advertise the route to the local subnet and accept routes on whatever machine you’re accessing from and you’ve got yourself a pretty much plug and play solution.