i have configed a new cluster with no arbiter member, and i can update shard key successfully.
my operation:
MongoDB Enterprise mongos> var session = db.getMongo().startSession()
MongoDB Enterprise mongos> session.startTransaction()
MongoDB Enterprise mongos> var tb1 = session.getDatabase('testdb01').getCollection('table01')
MongoDB Enterprise mongos> tb1.find()
{ "_id" : ObjectId("62313fe8be512c6886208895"), "id" : 1, "name" : "user1" }
{ "_id" : ObjectId("62313fe8be512c6886208896"), "id" : 2, "name" : "user2" }
{ "_id" : ObjectId("62313fe8be512c6886208897"), "id" : 3, "name" : "user3" }
{ "_id" : ObjectId("62313fe8be512c6886208898"), "id" : 4, "name" : "user4" }
{ "_id" : ObjectId("62313fe8be512c6886208899"), "id" : 5, "name" : "user5" }
{ "_id" : ObjectId("62313fe8be512c688620889a"), "id" : 6, "name" : "user6" }
{ "_id" : ObjectId("62313fe8be512c688620889b"), "id" : 7, "name" : "user7" }
{ "_id" : ObjectId("62313fe8be512c688620889c"), "id" : 8, "name" : "user8" }
{ "_id" : ObjectId("62313fe8be512c688620889d"), "id" : 9, "name" : "user9" }
{ "_id" : ObjectId("62313fe8be512c688620889e"), "id" : 10, "name" : "user10" }
{ "_id" : ObjectId("62313fe8be512c688620889f"), "id" : 11, "name" : "user11" }
{ "_id" : ObjectId("62313fe8be512c68862088a0"), "id" : 12, "name" : "user12" }
{ "_id" : ObjectId("62313fe8be512c68862088a1"), "id" : 13, "name" : "user13" }
{ "_id" : ObjectId("62313fe8be512c68862088a2"), "id" : 14, "name" : "user14" }
{ "_id" : ObjectId("62313fe8be512c68862088a3"), "id" : 15, "name" : "user15" }
{ "_id" : ObjectId("62313fe8be512c68862088a4"), "id" : 16, "name" : "user16" }
{ "_id" : ObjectId("62313fe8be512c68862088a5"), "id" : 17, "name" : "user17" }
{ "_id" : ObjectId("62313fe8be512c68862088a6"), "id" : 18, "name" : "user18" }
{ "_id" : ObjectId("62313fe8be512c68862088a7"), "id" : 19, "name" : "user19" }
{ "_id" : ObjectId("62313fe8be512c68862088a8"), "id" : 20, "name" : "user20" }
Type "it" for more
MongoDB Enterprise mongos> tb1.updateOne({id:1},{$set:{"name":"gytyfyf"}},{multi:false})
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }
MongoDB Enterprise mongos> session.commitTransaction()
MongoDB Enterprise mongos> db.table01.find({id:1})
{ "_id" : ObjectId("62313fe8be512c6886208895"), "id" : 1, "name" : "gytyfyf" }