FWIW, I see that this thread is 2 years old, so I don't know if anything has changed in the interim regarding the system privileges involved. The last poster mentioned being able to get Google Contact sync to work by installing the latest GOS, and the Google Contacts app.
However I tried this today on my Pixel 8 Pro, (latest GOS and Google Contacts app), and I added a new contact to my Google Contacts, and it did NOT sync with my Pixel 8/GOS. There is an option in the GOS Contact app to turn on Google Account syncing, but after enabling that, my newly added contact still did not sync. The screen shows my google account email address listed but with 0 contacts, (and no other options).
When I go to my Password, passkeys & accounts setup screen and select my Google account, the items available for syncing are Calendar, Google Calendar, Google Fi (my provider), and Tasks in Calendar, but not Contacts. Calendar syncing does work correctly between the Google Calendar app and my Google Calendars. For contact syncing for now, I've been using the method described earlier in the thread by accessing my Google Contacts and exporting the VCF from there, and then manually importing it to my Pixel/GOS phone.
Ideally I would prefer being able to sync contacts and calendars directly from my 2 PCs, (running Thunderbird), and my 2 Pixel 8 Pros and Pixel Tablet, all running GOS/Thunderbird. I'm hoping this will enabled soon using Thunderbird Sync;
https://blog.thunderbird.net/2023/07/an-update-on-thunderbird-sync/
Or perhaps a combination of syncthing on my Windows PCs, and syncthing Android?;
https://syncthing.net/
https://github.com/Catfriend1/syncthing-android
Good Luck..