As for the JSON loading. JSON files always have priority over the database except for the ACF field group edit page. There is syncing from the field group to the DB if you do that manually, but there is not syncing in the other direction.
You could reduce some of the work that your doing by first updating the JSON file and then calling the acf function that does the syncing and make ACF update the DB. I don’t recall the function to use here. but I did find this that will lead you in that direction https://gist.github.com/webgurus/6c92ca9c4f660abc06ec
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users