How can I use the teleport service but make it so it joins the friend's server?
Or is this just an illusion which makes the person rejoin the game as Roblox automatically matches people with their friends?
A quick search on the Wiki brings me to the TeleportService, where two particular methods stand out:
GetPlayerPlaceInstanceAsync (Try saying that three times fast), and
TeleportToPlaceInstance. Used together, these can supply you with the ability to teleport to the friend's game, by getting the game instance id and using it to teleport to the specific server instance.