Data sync across Local and Cloud Database
If the "Local DBs" were only read slaves then this would be feasible using replication filters. https://dev.mysql.com/doc/refman/7.0/en/change-replication-filter.html

However since you have some sort of master master requirements (the need to be able to write to both Local DBs and the Central Master) this will get messy quickly. Reason being MySQL is not meant for master master replication out of the box let alone master master with bi-directional replica filter demands. As such, there are two possible solutions I can think of.

1.) Split the the Central Master into multiple databases which are location specific, reflecting their given Local DB partner. Each partner pair should then become a Galera "cluster" consisting of both nodes plus an arbitrator. 

2.) Have the entire topology you are describing be a Galera cluster and don't discriminate between location based data, i.e all servers have all data. This solution would obviously greatly reduce complexity but at the cost of increased resource requirements.

3.) If you prefer to use Postgres, you can experiment with some variant of the 2 above mentioned solutions using https://www.2ndquadrant.com/en/resources/pglogical/pglogical-docs/
But it seems at this time that multimaster and logical replication aren't coexisting.

To answer your other questions:

-I would try to achieve some sort of replication instead of a custom sync which would be difficult to implement especially if your data set is large. Also a custom sync solution will result in data inconsistency the majority of the time.

-In my opinion MySQL has more mature replication facilities available relative to your particular challenge.