Jag lyckades få kontakt med:
tunnel = sshtunnel.SSHTunnelForwarder((ssh_host, 22), ssh_password=ssh_password, ssh_username=ssh_username,
remote_bind_address=('localhost', 3306))
tunnel.start()
Uppenbarligen var skillnaden att hålla tunneln öppen istället för att använda "med"-satsen, även om jag inte förstår vad som faktiskt hände och jag skulle uppskatta en förklaring.