Do you have 2 fields? one to upload and image and the second to include the image from a URL? If you do my guess would be the image field itself is being overwritten with no value if an image is not uploaded at some point after you have set it in the acf/pre_save_post filter. But that’s just a guess assuming that you have two fields to deal with different ways to supply an image.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users