Consegui conectar com:
tunnel = sshtunnel.SSHTunnelForwarder((ssh_host, 22), ssh_password=ssh_password, ssh_username=ssh_username,
remote_bind_address=('localhost', 3306))
tunnel.start()
Aparentemente, a diferença foi manter o túnel aberto em vez de usar a instrução 'com', embora eu não entenda o que realmente aconteceu e agradecia uma explicação.