How do we update a custom file upload field with the Advanced Custom Field plugin?

File upload fields might return all those values (depending on the field settings), but those are just based on the media library attachment. The field only actually stores the ID of the attachment for the file as its value. So to populate a File field programatically, you just need to set an attachment ID as the field value.

So once you have the attachment ID, you just need to do this:

update_field( 'field_name', $attachment_id, $post_id );