If you connect multiple RunService:BindToSimulation()'s they will run in a consistent order, but that order is not determined by the specified priority and is different every time the game is started and can vary from client and server.
Reproduce:
Make a few RunService:BindToSimulation() functions with different priority that run the same on the client and server (just like what you would do in a server authority game)
Put unique print statements into each
Everytime you playtest the game the order they run in will be random.
Expected behavior
According to the documentation, each RunService:BindToSimulation() function should run lowest priority first, highest priority last.