When a disagreement occurs with OnOwnershipRequest (Original Owner returns false but Requesting Player returns true) the ownership will desync and will be transferred for the Requesting Player and not revert back when the Original Owner declines.
This is when the local player attempts to claim ownership for themself. I am unsure how remote ownership assignment is handled.
Example code used:
public override bool OnOwnershipRequest(VRCPlayerApi requestingPlayer, VRCPlayerApi requestedOwner)
{
return !Networking.IsOwner(gameObject);
}