You can tweak a laptop’s energy settings so that it has comparable battery life whether it’s running windows or Linux. But no, a laptop that has 8h of runtime in windows won’t magically get 20h in Linux.
I would be lucky if my Thinkpad X1C6 would get the same battery life in Linux as it did in Windows. It usually does well, if I don't open the web browser.
As such, despite running 5.18, Wayland, Firefox, "latest nonfree version of ffmpeg with actual 264 codecs," etc etc etc, GPU accelerated decoding of videos is still too much to ask for in FF or MPV. VLC sometimes does it. Sometimes - usually after making sure I have a version of ffmpeg that actually supports the codecs I want to decode.
I'm still following an ever deeper series of guides on how to enable ASIC decoding for videos.
This is across a few distros (Pop_OS, Fedora Silverblue [using both the bundled FF and the flatpak variant from flathub - not just the Fedora flatpak], Tumbleweed), and it has long been the same story.
On my desktop, I have simply regressed to letting FF/MPV/VLC take an extra 15W of power to render a video. On my laptop, I still am trying to find a solution, since it can hardly spare that extra power consumption.
What codec did you try? I'm using Firefox on Linux as well, but hardware decoding seems fine, power consumption reported by powertop is not too high (1.5W?).
On tumbleweed, I've tried the VLC repo's ffmpeg for h264, packman, and now opi codecs. The first and third seem to work for VLC.
On Silverblue, I don't recall the exact steps, only that I gave up and just used "enhanced h264ify" to disable h264, in favor of vp9. This still breaks many other websites that use h264, but at least youtube mostly works. Mpv flatpak works, so I just use mpv to render the h264-only videos that youtube still has. Of course, this is one area where snaps has the edge of flatpak, IMO - nice default aliases in the terminal, instead of 'flatpak run io.Mpv.mpv https://youtu.be/watch.......' or having to create my own, or having to use another program to do it.