[UE5.4] How do levels work?

A level like in Super Mario. You play one level and when you’re done, it’s completely gone. Why is it Unreal Engine cannot handle classic levels?

How? OpenLevel literally doesn’t work. The old level is still partly there. My player character is still in the old level. DestroyWorld does absolutely nothing. OnActorsInitialized and OnWorldBeginPlay never trigger. So I have to wait to continue setup after a level is loaded, but I have no idea how long. And with the player character stuck in the old level, all user input is ignored.

Why is this so difficult to do?

Without using BeginPlay (which is broken in level BP since forever), how do you know when it’s done loading? I have scores, dynamic enemies, custom pathfinding, timers, etc. I have setup to do. When do I do that? Why is the player character still in the old level?