Roguelike with properly connected rooms

I looked at the roguelike tutorial, with the conviction of gun dude shown in it, and I would like to do something like that, except, without deleting previous rooms. This leads to a problem, however, as there will inevitably be exits that lead absolutely nowhere.
The player leaves a room with two exits, then the player goes directly below that room at some point, but there isn’t an exit generated where the room above had an exit, and thus, the player cannot go between the rooms; the room above is left with a false exit.
How might I ensure this scenario doesn’t happen?

I don’t think you should do it without deleting the room because it would create a lot of lags from 60 to 20 fps

My methods:
a) generating from external layouts, not constantly. I think that was implied, but saying it just in case it needs to be.
b) turn-based movement like pixel dungeon, but focused a lot more on the quests, and with a lot less hostile npcs.
c) the idea is to have the player encounter the various dilemmas of the game in a random order, but it’s a top-down rpg, which means that you have to use more creativity to do this than in a text-based game.

I’m not sure if it would create lag. I don’t think so, but I’m unsure, because I don’t know how the art that considers the other surrounding rooms would work.

Most the rooms would be roads, and there wouldn’t be any dead ends; just a perfect grid of roads around city blocks. If you go off one intersection, you end up in one of two straight road segments that is created. Simple. Since all roads are 4-way exit, there isn’t a problem here. The problem is the randomized buildings on the blocks. Either they are all dead ends, or some of the larger ones have multiple rooms, which is desirable, yet, not exactly workable, because that would require the rooms to have doors besides the main entry, and those doors would have to connect only to nearby rooms of the same type, say, car factory, and to roadways. Else, I could also have 2 sizes, 2x2 and 1x1 rooms, but in a donut scenario, entering a mostly empty block, but with one 1x1 room in the top corner, if you came up from the bottom, a 2x2 room would overlap with the 1x1 room unless you did a series of complex checks and replaced the 2x2 room several times until you found the room that fit here. For instance, different identical rooms with an L shape, in various rotations, or a 1x2 room in 2 different rotations, until one worked. While that might actually be an ingenious way of doing it, there would hardly be a guarantee that it would not slow down even a very slow-paced, low-weight game.

So, I guess that is the answer.