Stuff like WiFi hardware and the configuration of how 2.4 GHz switches to 5.8 GHz along with how the carrier is configured to use WiFi and your firewall all play a major part in battery life.
Graphene has been messing with the 2.4 to 5.8 transition a lot recently in updates. I haven't looked at the actual source but just noticing how well my network connects and stays connected, along with how that changes with each webview/vanadium update points at this being the case. My battery life varies a lot as a result. I'm probably an odd edge case as I live in a super dense area for WiFi and just use 5.8 GHz only as it is less of an issue. When the signal strength is not ideal, there is some code that blocks the 5.8 band periodically, probably assuming that there must be a 2.4 GHz band available. The frequency that this drop and block happens has changed and my phone goes from a solid 2 day battery life with rather poor connectivity across the house to 1 day of battery life (into the red) but great connectivity. I have almost no apps and nothing that has background internet permissions. I have nothing from Google. Almost everything I do is done in Vanadium, I restart regularly, and sit behind a whitelist DNS filter on a separate device. So I have about the best real world test case possible for what is actually draining the battery.