Is this a reasonable way of handling instanced levels?

Part of my game involves traveling from the seamlessly connected overworld to procedural levels I generate on the fly, and I’m trying to figure out the best way to isolate the two from each other. Thus far, the best idea I’ve had is to simply cordon off a large area of space, ensure that none of the overworld’s level streaming volumes touch it, and whenever I need to generate any kind of procedural instance I simply fade to black, generate level geometry, teleport the player into the procedural area, then un-fade. It’s a little clunky, but it keeps everything centered around the persistent level and doesn’t require me to serialize/re-initialize any logic whenever the player travels to or from the overworld. Is there any reason not to do it this way?