I knew I should've gotten the phone in Hong Kong, instead of Shanghai.
After some research, the safest way to do this without mucking around with rooting and/or installing custom ROMs is to simply download Google Services Framework. Google Play Services, and Google Play Store from APK Mirror, then sideload and install the APKs on the phone.
The APKs installed just fine. On first run, it asked me to log in with my Google account. gapps would crash during the password verification phase. Play Store recognizes my account, but is not showing any apps. Getting Server Error message. Restarted the phone. This time, I was able to access Play Store properly and download apps. All this time, I'm getting a notification that says "Google Play Services won't run unless you update Google Play Services". Catch-22 much?
When I click on the notification message, I get to the Play Store entry for Google Play Services, but the only option is Deactivate. I click on it, and pop-up window says device administrator needs to be disabled first. No such option under Settings - maybe because APK was sideloaded??
In any case, it's not really a big deal as Google Play Store is definitely working. Later on I realized that not all Google apps are working properly. For example, Calendar can't seem to see my calendars. Gmail says "Getting messages", but no emails actually show up. Google News says I'm not authenticated. Booted to recovery and wiped cache partition. Didn't help.
At this point, I decided something else needs to be done. I decided to change the firmware from CHC (Open China) to TGY (Hong Kong). The model I got is SM-G9650/DS, which is only sold in China (and HK) and Latin America. Google works in HK, so I'm hoping Play Store will come pre-installed on the TGY image. Not too sure if device needs to be rooted or OEM unlocked first. Hoping the hardware is fully compatible with the new firmware.
One thing to note: Downloading the firmware files from SamMobile took a couple of hours. (SamMobile limits the download speed to 15kB/s for free users.)
Cleanest procedure is to do factory data reset via Settings. Boot to recovery, do a factory reset, then wipe cache and data. After that, flash new firmware. Prior to factory reset from recovery, it warns you that you might need to authenticate with the Samsung account that was first used with the device. Not so sure about this part, so crossed my fingers and continued on to the flashing part. While it took hours just to get the stock firmware, flashing it via Odin took only 8 minutes.
After all the work, I now have a fully-functional Google-enabled Galaxy S9+. (Not so sure about Samsung Pay or Google Pay though as that's usually country-specific.)
To boot to recovery mode:
- power off the phone
- press and hold Bixby and Vol+ buttons
- press and hold power button
- release when the Android mascot shows up after the Samsung splash screen
To boot to download mode:
- power off the phone
- press and hold Bixby and Vol- buttons
- press and hold power button
- release once in download mode
Flashing firmware with Odin:
- unzip firmware file downloaded from SamMobile
- pre-fill the BL, AP, and CP fields with the extracted files
- under CSC, put in the CSC file if you want a clean flash; otherwise, use HOME_CSC to keep your apps and data
- reboot phone into download mode (see above)
- connect phone to PC using a working USB data cable
- make sure only Auto Reboot and F. Reset Time are ticked under Options
- click on Start