So I recently started with multiplayer, not knowing anything with 1+ years experience in Unity and 2+ in programming with C#.
So the network solutions I found were Fishnet, Mirror, Riptide and DarkRift 2. But from my understanding, you can not play with your friends across miles with only Unity and one of these “networking-things” You need something like “Playfab” so you need Unity > Mirror > Playfab to create a multiplayer experience as Sea Of Thieves
You forgot Netcode for GameObjects, Unity‘s own solution.
And no, your assessment is incorrect. With any of these you can connect with friends on the same server (port forwarding may be required on host‘s router).
Maybe just try one of the NGO or Fish-Net example projects and ask a friend to join. Most likely service you need is a relay server so users can join without the host having to setup port forwarding.