Seems like nothing out of the ordinary.
Before you do the HTTP request, can you still do
WiFi.setDNS(IPAddress(8,8,8,8), IPAddress(8,8,4,4));
to try out a different DNS server (Google's).
Also, try to put some delay like delay(5000); after connecting and before doing the HTTP request, it may need some settle time.
On the phone, do you have to go through a "Captive Portal" until internet access is enabled? Like a notification on your phone that you first need to go on a website to enable the access?
Another interesting thing would be to check whether you can ping an IP address when connected to that WiFi. You should install the "ESP32Ping" library and then upload this sketch (of course putting in your SSID and password too)
https://github.com/marian-craciunescu/ESP32Ping/blob/1.6/examples/SimplePing/SimplePing.ino
Change the to be pinged IP to
const IPAddress remote_ip(8, 8, 8, 8);
you can also try pinging the router itself
const IPAddress remote_ip(192, 168, 1, 1);