Android’s latest image picker is the culprit. A workaround is to use Android’s file explorer instead. I found a working solution to this problem here: https://stackoverflow.com/questions/70865878/picking-photo-from-web-in-android-no-longer-includes-exif-gps-location
On deeper investigation I discovered the Android system replaces GPS values with “0”. If image files are first transferred from the Android phone to Google’s cloud storage at https://photos.google.com/ and then downloaded to your local machine, Google doesn’t interfere with the GPS data, but they do destroy your GPS data if you try to access your photos directly from your phone’s Android operating system.