Basically, I would like GUI emacs to replicate the terminal behavior, where a new frame is opened within the same (OS) window. This would work similar to vim's tabs, which are just a way to move around different window configurations within the same session.
In emacs, a frame is always a separate graphical window (and as you know, in emacs the frame is divided into windows, making the terminology somewhat confusing).
However, you can save window configurations to registers, and restore them later; see the "Configuration Registers" page of the emacs manual (
M-: (info "(emacs)Configuration Registers")).
There are a number of emacs packages which give you a tab bar, such as TabBarMode, but I'm not aware of any off-hand where the tab buttons switch window layouts, rather than which buffer is visible. Maybe you can find one, or you could modify one to do it.