I assume you tried what I'm about to say worked for me, but it ended up working for me, so just throwing this out as a possibility. I have no idea if it'd work for you, but:
After removing all networks from my wpa_supplicant.conf, and making no other changes to anything network-related at all:
1. Ran "sudo raspi-config" from the command line.
2. Selected "Network Options" and picked "Wi-Fi."
3. Typed in my router's SSID.
4. Typed the Wi-Fi passphrase
5. Selected "Finish."
But since I still hadn't told the Pi it was a hidden SSID, I then needed to open wpa_supplicant.conf one more time, and add: scan_ssid=1 to the network.
That's it, I put nothing else in wpa_supplicant. Saved and closed it, and then typed:
sudo wpa_cli -i wlan0 reconfigure
This Pi (3B running Stretch, and also a 4B with Buster) were then connected to my wpa2-psk hidden-SSID wi-fi, on 2.4 and 5 GHz, whichever band the Pi hardware was able.
The symptoms this procedure fixed:
Seeing the hidden-SSID router in the list of available wi-fi networks, and not connecting to it despite wpa_supplicant having the right SSID, password, and security type. Like, I could select the SSID in the GUI, type in my passkey at the prompt, and it wouldn't connect, even try to connect, or acknowledge I'd just typed something.
(Primary resource for all this: Adafruit's "Setting up Wi-Fi by Hand" tutorial.)
RPi 4B w/ Buster in a toasty little official case, and an RPi 3B w/ Stretch.