A nitpick: DooM (1 and 2), just as well as Duke Nukem 3D were indeed "2.5D" elaborate fakery of 3D. One of examples of the ruse: a level was basically a (floor, ceiling) height map, and there could be no two overlapping rooms one above the other.
On the other hand, Quake (1) was an early pioneer [1] of real, actual 3D, including an OpenGL backend and all that. That's one of the reasons it required significantly beefier hardware: needing a Pentium for smooth gameplay, while DooM would run perfectly fine on a mid-end 486, which is a generation older.
[1] cf. Marathon
The Quake rasterizer with its overlapped divide for perspective correction is a thing of beauty and possibly my favourite piece of code ever. If there's anyone out there who loves optimisation and hasn't read Abrash's "black book", it's well worth a read.
Double nitpick: Duke Nukem could actually have stacked floors and bridges over other playable areas.
As such, if it didn’t use “real” 3D, its 2.5D scheme were considerately more elaborate than Doom or Wolfenstein.
Basically you still drew in 2d but you could overlap rooms with other lines that wouldn't intersect with any already existing lines, and that would configure 'a room above/below the current room'. Then you had to slope the floor until it actually connected with the newer room.
It was pretty strange but yeah, some people built insanely detailed things with Duke3D :-)
Elaborating a bit -- the Build engine had a feature called "sector effectors" that, when triggered, would teleport the player to a completely different sector in the map. The transition was seamless and permitted interesting effects like the illusion of having stacked floors.
The designers used this feature to most profound effect in the level Lunatic Fringe. In order to complete a full circuit of the central ring room, the player had to move through a 720-degree circle to return to the entrance. It was _extremely_ confusing playing that level for the first time.
https://dukenukem.fandom.com/wiki/Lunatic_Fringe
Fabian Sanglard wrote an excellent series about the engine here: https://fabiensanglard.net/duke3d/
https://media.moddb.com/images/members/1/240/239733/qv1.gif
Curiously, explosions were still sprite + particles. But I can't remember anything else outside of UI that was using a sprite.
Q2 took it even further - it has 3D models for explosions, and even puffs of smoke when bullets hit walls (these were simple particle effects in Q1). IIRC the only thing that was a sprite was the BFG10K plasma ball?
Back then, I just found it strange. In retrospect, I wonder if it was an attempt to associate some kind of "uncompromising real 3D" branding with id engines. It's interesting that Q3 - which was the first engine id released after they got serious competitors in that space (Unreal, Source) - switched back to sprites for fire, smoke and explosions. And Unreal especially made it a point that it wasn't just 3D, but it was shiny:
Grass and particle effects are secondary....
How many FPS AAA titles today use sprites for enemies and weapons?
Nothing's stopping someone from adding code to render 3D models or "portals" in the game, and in fact it has already been done, with no 3D acceleration needed.
Quake was a whole new paradigm, it was based on a true 3D engine and its maps were generated in three dimensions. You could stand under stairs, under the room above, and underneath lifts.