There is also a large difference between openvpn and Wireguard.
Openvpn would cost me a few percent per day and would always be constantly retrying connection when in no service which absolutely killed my battery on the train.
Wireguard I have gotten a max of 1% ever. It seems to not have those issues.
Since you mentioned wireguard. I can't fight the argue to mention the remarkable app called "Rethink". This app finally let me use wirequard and local DNS blocking at the same time. it also got a big variety of settings and filters. and top of that it's opensource! I no longer need or use Blokada after I found this app.
now that I got that out of the way, I feel much better right now :)
Interesting, I've always wondered how much battery my always on VPN consumes, it seems not much, but still not an insignificant amount. But my biggest worry with always on vpns is the idle usage, and its good to see its basically non extistent!
Battery consumption also depends on other factors like the speed of your network connection. If your VPN network is slow the battery usage would be higher.
Just an addendum for clarification. If you don't want clarification, then yes: A slower connection may cause more battery drain.
A slower connection means you would need to be on your device longer which would result in a larger than normal perceived battery drain with normal use.
An unstable connection with lots of packet losses would cause chaos with the network stack on your phone leading to more memory consumption, unneeded encryption/decryption and possibly hung TCP sessions. That would be a battery suck. In the worst cases on older devices, could even cause your phone to get a little warmer. That gets worse if you VPN client has to constantly reconnect, which is another problem.