When the block is set to move without authority, the block only moves on the client side (IF the server still replicates the block’s states).
However you still walk through the block as a client because the block isn’t actually there (the server sends the replicated state of the block not being there, effectively making it a ghost block).
In another scenario, when the server doesn’t replicate the block state, the block simply doesn’t move.
Why this happens is puzzeling due to the state not being replicated, so in theory the block should move on the client.
It seems however, that because the server holds authority and doesn’t replicate the state, the state simply freezes
into the servers’s state instead.
edit: After some more thinking, I think the reason is pretty simple.
The server holds authority, so for a client to be able to move something it need permission from the server (because it holds the authority).
This explains, that when you do not replicate the block state, the block can’t move.