max_connection_lifetime only affects connections that are idling in the connection pool, i.e., are not executing any work, and they only get terminated once they are picked up from the pool again and have exceeded the lifetime.
Next, the driver will not open connections for the sake of it. So as long as you don't run any queries, it might, or it might not have idle connections open to the server.
Finally, the driver should open one initial connection to the server to fetch routing information to support clustering, which is an enterprise only feature, but the driver has to ask the server if there is a cluster none the less. Now, that connection should probably survive as idle connection in the pool. However, there is a non-critical bug in the 4.2 Python driver that closes that connection (this is at best a performance concern).
I hope that helps a bit to understand what's going on.