I have spent hours on this too. Migrated from iphone to Samsung Galaxy Note 10 plus. Exported contacts from iCloud (online), and imported into Google Contacts (online). All contacts where showing in Google contacts online, 70% of the contacts on the Google Contacts app on the phone, and only 50% on the app Samguns contacts.
This worked for me:
1) downloaded, on the phone, the app Google Contacts (more contacts showed on this one, but still a lot missing);
2) Cleared app cache and data, from both Google contacts and Samsung contacts (the app name and Icon are the same, Google is orange, Samsung is blue). Go to Settings > Apps Manager, then swipe to All and choose Contact Sync. Select Clear cache and clear data.
3) Removed google account, and added it again. Go to Settings > Accounts > Google and select the account you’re having issues with. Choose the Remove account option, then go through the setup process one more time.
Check this also. Go to:
Settings > Data usage > Android services > Restrict background data/services. (Make sure this is off).
Then:
Make sure Google Contacts sync is turned on. Go to Settings > Accounts (click on top of it) > Google and select the account you’re using. Make sure Contacts is checked. Again, even though it is, turn it off then on again a few times.