The fix I posted above was on the right track to hook into ‘pre_post_update’, but just went about it in the wrong way. I got a little spun around tackled the wrong save_post() method.
So, there is one simple change to fix this problem on my installation, so please ignore my patchfile above. Here is a better patch which fixes the problem of subfields not saving on our installation.
In short, hook acf_form_post::save_post()
onto ‘pre_post_update’ instead of ‘save_post’.