The background population of minPoolSize connections sequentially creates connections per server: https://github.com/mongodb/mongo-python-driver/blob/c1748a930533c8ebc3bed614d7d0c8865f80a3b4/pymongo/asynchronous/pool.py#L837
In addition, it also creates connections sequentially on a per-server basis, rather than for all servers concurrently: https://github.com/mongodb/mongo-python-driver/blob/c1748a930533c8ebc3bed614d7d0c8865f80a3b4/pymongo/asynchronous/topology.py#L606-L608
As a result, populating minPoolSize for an entire topology can take quite a while. We should update this so that up to maxConnecting connections are being established per server in the topology, rather than just 1 for 1 server.