Sam, there are many blogs and articles which are repeating the same example of updating fields other than ownerid and it works fine.
The challenge is when we try to combine the two features:
1. Use the row version to check if the record is still valid for an update
2. Use the recommendation for using the UpdateRequest instead of AssignRequest message to assign ownership in CRM 2016 on-premise.
When we combine this, the UpdateRequest throws a Fault Exception that RowVersion does not match.
Thanks