For those who did specify a region in their session or client and are still getting this error. In the wrangler code, it looks like this error is happening because the code is trying to find an s3 bucket to write to - either passed in by the caller or defined by the workgroup.
https://github.com/aws/aws-sdk-pandas/blob/main/awswrangler/athena/_utils.py#L75
If it doesn't find the bucket, it attempts to create it with a specific name.
https://github.com/aws/aws-sdk-pandas/blob/main/awswrangler/athena/_utils.py#L445
If the bucket already exists, it will just silently exit, but if it does not exist it will attempt to create it with the name bucket_name = f"aws-athena-query-results-{account_id}-{region_name}"
and wait for bucket creation to succeed.
It seems like if the role you're using does not have permissions to create it, you'll just be stuck in this waiting loop. I'm not sure why it doesnt surface as a permission error but in my experience it doesn't.
I fixed this issue by running as Admin so that the bucket could get created in the account. Once I verified the s3 bucket was created, I downgraded back to a lower perm role and was able to run my code without getting this issue.