I updated a world that had deny blocks at y=0 instead of bedrock (as at the time we didn't want non opped players to place/destroy blocks when in creative) and it didn't generate new terrain below y=0 nor did it replace the deny blocks.
The new terrain below y=0 does generate in areas where bedrock wasn't replaced with deny blocks.
This has happened on my PC (running Win10), my phone (running Android10) and my friend's phone (running the latest version of iOS)
How to replicate:
1) create a world in the last release of 1.17
2) run "/tp ~ -10 ~"
3) destroy some bedrock and replace with deny blocks (idk if it is just deny blocks or not)
4) save and quit
5) load the world in 1.18
6) run "/tp ~ -10 ~" to see if chunks have generated
How to fix:
1) load an old save/backup of the world in the latest release of 1.17
2) replace any blocks on y=0 with bedrock
3) save and quit
4) load in 1.18 - new -y caves should have generated
This is working as intended.
https://help.minecraft.net/hc/en-us/articles/4415035909261