なんとか接続できました:
tunnel = sshtunnel.SSHTunnelForwarder((ssh_host, 22), ssh_password=ssh_password, ssh_username=ssh_username,
remote_bind_address=('localhost', 3306))
tunnel.start()
どうやら違いは、「with」ステートメントを使用する代わりにトンネルを開いたままにすることでしたが、実際に何が起こったのか理解できず、説明をいただければ幸いです。