OnNetworkPlayerJoin is a notification of joining a channel. It has a parameter you're missing -- parameter that tells you which player has joined.
There is no need to send anything inside that function. In fact, doing so is wrong because that function will be called on all clients, resulting in all clients trying to send the position immediately. You're also send that RFC message to yourself. Not sure why.
Instead simply send the player position using Target.AllSaved instead of Target.All, and it will be set for everyone even before OnNetworkPlayerJoin is called.