Sadly, with godot network, you are stuck with that rpc tangle. There are some even higher-level networking that work like magic, needless to say, I don't like it. It uses less, if any, rpc, and instead if I understand it correctly, syncs variables and stuff.
Actually 2D and 3D do not matter in terms of networking, it is the complexity of the game that matters. You can have a complex 2D game or a simple 3D game. Of course, 3D brings additional challenges in the long run, for example, distance, character position orientation, and so on so you might need to send more data. As long you keep it simple it will not matter much.