That's another pet peeve of mine: Why the hell can't we block internet access for apps in (native) Android? Everything else is a permission, but this is not, somehow.
ADs work via play services so even if you block internet for the app the ADs will continue to work.
The reason many apps stop showing ADs when their internet is blocked is because they need to make an API call to their own servers before running the AD. That is the common behavior but not mandatory
Google is invested into you having WiFi all the time.
Weirdly, my very old Nexus 6P with the WiFi off, could lie untouched for weeks, with almost no battery depletion. Yet if I turn the WiFi on with near stock Android (meaning no messengers, tens of email accounts, etc, to constantly ping _something_), it just eats the battery within 24 hours tops. Perhaps that’s just the module itself, but I remember flashing LineageOS and having better savings. I have no real numbers to support that right now, although I still have the phone lying around somewhere and could test this some day.
Modern Google Android will use neighbouring WiFi networks to guesstimate your location quickly, so it's scanning even when the toggle says "off" unless you disable it. This location can be queried in the background when nearby devices broadcast the equivalent to Apple's "find my" network broadcasts, because Google uses collected reports of beacons+location to roughly locate tags and such. Opting out of all of that stuff should massively improve standby battery time.
I've also noticed the difference between vendor+custom ROM with a Xiaomi device, which I use as a second phone around the house for controlling smart lights and such. The biggest difference there seems to be that I don't have as many apps installed and as many features enabled, because during active use and shortly after, the battery drains just as fast as (actually a bit faster than) when using the original ROM.
Many custom ROMs (at least the LineageOS-based ones) also don't do thing like configure the country code for the WiFi chip and GPS caches. A large part of the 5GHz spectrum simply doesn't exist (by default) on my custom ROM devices so there's just less to scan in the background.
I have an S25 Ultra with the latest version of Android, and these options don't seem to be there at all. I don't have a "data usage" under Permissions for any apps. I do have a Mobile Data section under App Info for any given app, but there's no way to toggle the options you mentioned.
You can on some devices (many Chinese brands, funnily enough) and on custom ROMs.
There are also (open source) firewall apps that will let you block (non-system) apps if you're on a stock ROM like me.
Technically, this is a permission, just not a user-grantable one. Google has moved quite a few permissions from inherent to user-grantable, but most apps don't work without internet (unfortunately) so I doubt they will do it for the internet permission in stock android.