I do it with a gluetun container (more versatile) zero issues, but you can just mainline wireguard as an interface if you prefer, also works fine, on bazzite.
Yup, using openVPN profiles. Proton VPN has quite clear instruction on how to do this on their website. Just do a search for “proton vpn openVPN profile Linux”
proton drive is the biggest bummer from proton themselves. though their calendar might acually be worse - like where the fuck can i use this shit? however, rclone does kinda work with drive if you're willing to get it setup.
I've installed it through secureblue's ujust script. I think this has been the smoothest experience I've had with it on Fedora Atomic.
Previously, I relied on the wireguard profiles I downloaded from ProtonVPN and which I loaded through NetworkManager. While it definitely worked, it was a hassle to redo it every now and then. Furthermore, switching on the go to something else I hadn't loaded already was never an experience I enjoyed doing.
Though, for completeness' sake, ProtonVPN^[Note that, IIRC, IVPN and Mullvad don't fare better in this regard.] hasn't fixed its IP leakage on Linux. And, to my knowledge, the workaround is only available with access to the wireguard profiles. And thus, the cumbersome method actually offers a very tangible merit over the comfortable one.
Finally, while I don't endorse the use of NordVPN, it's the only other VPN that's installable as a sysext. Note that systemd system extensions are still experimental, though. Even if they've (read: N=1) been reliable to use for me.