If you can connect using VNC, that means WiFi is working.
If you fail to debug, and it is NOT a hardware issue, then ultimate solution is re-imaging your microSD card. Painful to think of, not so difficult to do.
EDIT:
If you can connect on VPN, most likely you can SSH also.
SSH and test you Dongle.
#First install test tool package
sudo apt-get update
sudo apt-get install rtl-sdr
# Stop dump1090 by one of the following command
#depending on which version you have installed
sudo systemctl stop dump1090-fa
sudo systemctl stop dump1090-mutability
#Now run the test
rtl_test -t
#If the Dongle is healthy, you will see following output
Found 1 device(s):
0: Realtek, RTL2832U, SN: 00001000
Using device 0: Generic RTL2832U
Found Rafael Micro R820T tuner
Supported gain values (29): 0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6
Sampling at 2048000 S/s.
No E4000 tuner found, aborting.
#Now reboot to restore system
sudo reboot
.
If the above test fails, unplug, then replug the Dongle, then reboot the Pi