I used to have a phone with a pay for usage data plan and kept mobile data disabled. I kept OpenVPN permanently enabled and it did not affect battery life at all. I then switched to a flat rate 2GB/month plan and now keep mobile data enabled. OpenVPN murders my battery.
The keepalive packets require keeping your phone's radios on. WiFi is pretty low power (<20 milliwatts iirc for the radio) so it has little effect, but mobile data is not low power. Apple & Google have put a lot of work into optimizing the OS to tweak usage to save power and the keepalive packets throw all of that out the window.
If keeping data off is a possibility for you, try that and see if the VPN still affects your battery life. If not, then you will have to set the VPN to only be active on WiFi or manually toggle it on/off whenever you want it.
The keepalive packets require keeping your phone's radios on. WiFi is pretty low power (<20 milliwatts iirc for the radio) so it has little effect, but mobile data is not low power. Apple & Google have put a lot of work into optimizing the OS to tweak usage to save power and the keepalive packets throw all of that out the window.
If keeping data off is a possibility for you, try that and see if the VPN still affects your battery life. If not, then you will have to set the VPN to only be active on WiFi or manually toggle it on/off whenever you want it.