I've done some tests using an Entity Reference field, and setting its default value in a hook_form_alter implementation. Everything is working fine - when I upload a single or multiple image files, the default value that I set in the hook for the Entity Reference field is preserved, and is saved fine when I press Save.
Please notice the way I'm setting the default value in my implementation of hook_form_alter(). This is different from what you have:
$form['field_reference_to_page'][LANGUAGE_NONE]['#default_value'] = 'trip (189)';
(My field is called
field_reference_to_page. In your case, you 'll need to replace with
field_boardgame). Notice that the arrays are different from what you have. Basically there is no
['target_id']. The value
'trip (189) is the title of the node and the node ID that this field is referencing. I made sure that the node really existed, and the node ID was correct.
I put together a short video proving that it really works.
By the way, Image fields cause an AJAX call when an image is uploaded - the form is rebuilt but not reloaded. But as I said, the default_value is preserved if you implemented the form alter correctly.