Thanks a lot for the detailed explanation. If I understand it correctly, there is no way to really prevent these Apps from "running" in the background, although "running" just means they sit idle in memory 99.9% of time and don't do anything unless a broadcast event they are subscribed to gets fired and then they are permitted to do small task.
So I guess the most likely issue is that either something else on the phone is causing this drain or that some App constantly gets restarted (which is expensive) for some reason instead of just staying idle in memory.
You don't use the Mull browser do you? That caused this issue for me, and I fixed it by uninstalling and switching to another firefox based browser (it was a Mull issue not a firefox issue)
In addition, apps schedule background work through WorkManager or JobScheduler or AlarmManager. Those can wake the app up at specific times designated to do this work. E.g. every X minutes when the screen is off.
Android has never had the same application execution model as traditional OSes. Both for foreground and background work. This allows it to scale multitasking with the available resources, mostly RAM, without losing app/user data. In other words Android can work on a 512MB RAM device or 8GB device and the only obvious difference would be how many apps are kept in memory. No data will be lost in either case due to apps getting evicted out of RAM. I typically give a 3-hour lecture to my interns on this because they need to know the details but that's what it boils down to. 😂