IMO it’s not that simple.
If you don’t replicate movement, you’ll need to implement the exact same movement logic on both the server and the clients. The server is still the authority, so if the client’s position drifts too much, it’ll get corrected — which usually results in visible jitter.
To avoid that, the client-side simulation has to stay in sync with the server. In my case, I replicate the movement start time from the server, so both simulate the same motion deterministically. That way I get smooth movement without relying on ReplicateMovement.