The client is having its version of the actor modified based on if it’s the client running the code. If it’s authoritative, the server will NOT update it. Because the SetReplicates and SetReplicateMovement is true, the actor’s true position is not moving as the authoritative server side of the actor is not being updated, therefore the client can’t do things with its version of the actor like stand on it whilst it’s “moving” on his side.
I’m not sure if there’s more to it than just this, but this is what I think is going on anyway. Anyone to confirm that this is correct and give any more pieces of information that I’ve missed would be great.