A "server" is just a program listening for network connections while it is running. It really makes no difference whether the server sits on a remote machine which is running 24/7 or at your local machine (well, the important differences are that a local server will usually only be available to your local network -- if you don't punch a hole into your internet router's firewall and set up port forwarding, that is -- will use your machine's local IP address, and will of course only be available if it is running).
In respect to Godot, again, a server is just a Godot Game that does the job of a server. Since pure servers usually don't need to display anything on screen, Godot comes in a special "headless server" variant which doesn't pack all the display stuff, but you don't need to use that in order to develop server software.
You can just write two Godot Games - one that connects to the server "game" as a client, and one that provides the lobby services by listening for connections and sending back lobby data.
How you do this really can't be explained in the Q/A format. There really is no way around getting to know Godots networking capabilities. If I were you, I'd start by writing a client and a simple echo server that just parrots back whatever the client sends it, and then develop it from there.
You can actually write both the client and the server in the same program, and design a way for the program to switch from client to server, maybe by pressing a button on the user interface. Thenjust run two instances of the program, and make one be the server. That makes for quick development, even though later on you'll probably want to split the server off from your game client.