I’ve run into the same problem, and I think I’ve discovered the solution.
bReplicatesMovement only replicates movement when the object is a physics object, or the remote role is simulated. This seems to be the case because the MovementComponent for your pawn (most typically the UCharacterMovementComponent) normally has special handling for the AutonomousProxy’s motion to avoid apparent stuttering for the client.
I haven’t been able to find documentation elsewhere, but from what little I’ve gleaned from CharacterMovementComponent, the correct thing to do is to use your own replication or RPCs to update the client. In addition, you can add an INetworkPredictionInterface implementation to make movement smoother on non-owning clients, and to help implement the client data structures for your autonomous proxy.