The ShardingTaskExecutorPool{Min, Max}Size server parameters control the maximum and minimum sizes of connection pools each TaskExecutor can maintain to any mongod. (Most CRUD/agg operations will use these connection pools to reach mongod from mongos).
The STAR team did some research and determined that different values for these parameters may have performance implications, and came up with tuning recommendations for these parameters for different sized deployments. However, in clusters where CSRS are on differently-sized machines than shards, we would want the size of the connection pools controlled by this parameter to differ depending on if the targeted mongod is a configsvr or shardsvr.
This is not possible with the current implementation of the parameter, which controls CP sizing for all mongods. We should decouple this to allow for different CP sizing depending on if the target is a shardserver or configserver.
Should be doable by giving the ShardingTaskExecutorPoolController a view into the cluster topology (maybe via RSM?) or some info on it so it can determine if a host is a config server or shard server.