Well they are completely dissimilar operating systems, known for handling hardware and software in completely different ways. As bitter as the words may taste on my lips, Windows is generally known for being better with laptop battery life than Linux; being able to run on a lower voltage may be related to however it is they manage that.
Are you setting up your undervolting in your UEFI BIOS? Or are you doing it in software? I don't know that much about it, but I'm guessing it might make a difference.
Arch wiki has a small article about undervolting software. If you are accomplishing yours in the BIOS, I wonder if you would get different results by doing it through software instead?
I haven't found a way of doing it in the BIOS, doing it via software and that works fine.
Talking of battery life, I'm curious...
What really makes Windows better in this regards?
With Steam Deck, are they going to tackle this issue? Because battery life will be important there. Considering all their engineering efforts go into Proton and compatibility, I doubt they'll have time to tackle an entirely different battle.
Stable means? And, do you actually measure the voltage? Remember, some stats might me misleading and deceptive. Also, refresh rate matters a lot. I mean how often does it measure voltage again.
If you refresh often, voltage is bound to fluctuate, due to difference in workloads. Task that seems very very simple, like calculating and showing 2 into 2 is 4 can fluctuate voltage to very high for small period of time. So it matters a lot that how often you are measuring voltage. Also, measuring voltage is a task itself . So higher refresh rate means higher voltage and less undervolting.
That is exactly opposite for my HP Omen 15.6 (2021). I can't say about other laptops, but Garuda Linux with zen kernel provide me an average of around 10% more time on battery with 5-7% better performance. Also, temperatures are cooler and fans are running slower, for same task.
It would be better to actually measure the battery life instead of seeing stats. Like charge the battery and watch some some movies / use browser for some time, at least an hour and note the battery difference. Charge again and boot into other operating system and do same task and compare the two. Note that you should do the same task for same time to do fair compare.
And as @ sgs already said, if you want battery over performance, like while travelling, use all the power saving tweaks from Garuda Assistant. When you are home / near charger point for long while, use performance tweaks.