Oh, I may have come across the problem itself.
add_action('save_post', 'add_image_to_acf_field');
is supposed to trigger when a post is published, right, not when a post is saved regardless of the saving type?
The front-end submissions only get saved as drafts, and once I publish it afterwards (i.e. open in backend and publish it), the field gets filled properly. So the draft state might be the problem?