The title says it all but what fires first logically PlayerAdded or PlayersService.ChildAdded
Here's a script for you to test it out:
game.Players.PlayerAdded:Connect(function() print(tick()) end)
And in a separate script do:
game.Players.ChildAdded:Connect(function() print(tick()) end)