I am trying to add a default image to an image field in Drupal 8 using the configuration management interface (CMI).  Normally once I have a field configured through the admin UI, I would then export the config YAML file for that field so I can add it to my custom module. The issue is that the default image for an image field is content and cannot be directly exported.  

If I do export such a file, it would look like this:

	langcode: en
	status: true
	dependencies:
	  config:
	    - field.storage.node.field_bluescope_header_bg_image
	    - node.type.bluescope_page
	  module:
	    - image
	id: node.bluescope_page.field_bluescope_header_bg_image
	field_name: field_bluescope_header_bg_image
	entity_type: node
	bundle: bluescope_page
	label: 'Header background image'
	description: 'Image used as the page''s header background'
	required: false
	translatable: false
	default_value: {  }
	default_value_callback: ''
	settings:
	  file_directory: images/header-bg
	  file_extensions: 'png gif jpg jpeg'
	  max_filesize: ''
	  max_resolution: ''
	  min_resolution: ''
	  alt_field: true
	  alt_field_required: true
	  title_field: false
	  title_field_required: false
	  default_image:
	    uuid: 8288b3b1-4b0e-4efc-9137-55cb68382f0a
	    alt: 'Header background image'
	    title: ''
	    width: 1920
	    height: 1080
	  handler: 'default:file'
	  handler_settings: {  }
	field_type: image

I noted that the default image is referred to using a `uuid`.  I was thinking that I could address this by programmatically adding the default file to this field's configuration during the module install process. What I tried was to create the image in drupal's file system and then get the `uuid` of that file and add it to the fields configuration using `configFactory`:

    function colorbond_data_install() {
      $config_factory = \Drupal::configFactory();
      $field_bluescope_header_bg_image_config = $config_factory->getEditable('field.field.node.bluescope_page.field_bluescope_header_bg_image');
      $default_image = $field_bluescope_header_bg_image_config->get('settings.default_image');

      // Create default image file.
      $file_info = colorbond_data_add_file('public://images/header-bg/', 'starwars.jpg', 'Header background image');
      $file = File::load($file_info['target_id']);

      $default_image['uuid'] = $file->uuid();
      $default_image['alt'] = 'Header background image';
      $default_image['title'] = 'Header background image';
      $default_image['height'] = 1080;
      $default_image['width'] = 1920; 
      
      $field_bluescope_header_bg_image_config->set('settings.default_image', $default_image);
      drupal_flush_all_caches();
    }

The problem is that when I reinstall the module, the default image configuration does not appear:

[![enter image description here][1]][1]

Not sure what I am doing wrong.

  [1]: https://i.sstatic.net/iVwau.png