Unfortunately, the server/mongos are quite finicky about what they receive in certain cases. As an example, sending mode `secondaryPreferred` if there are no tag_sets or sending the `primary` mode to mongos nodes breaks compatibility with older versions of mongos.