I feel like you should just step back a step, and go back to the where you just need to change .none to .automatic, don't add a name "synced" because that will change the name/path to the local file, that is why your data is getting lost.
When you do that, if you see that app is crashing, look at the logs, and why it is crashing. CloudKit does have some requirements on the data, like most of the fields should be nilable or have default values, references between models should be defined both ways, and there could not any unique constraints. I am sure, if you see a crash, it is because one of those conditions are not met. Which will be straightforward to fix by changing a model a little bit.