Drupal's moduler_installer service, provided through \Drupal\Core\Extension\ModuleInstaller, ensures that configuration items defined in the module's config folder are processed on installation. When a module is installed, the config.installer service, provided through \Drupal\Core\Config\ConfigInstaller, is called to process the module's default configuration.
In the event, the config.installer service makes an attempt to import the configuration from the install folder that already exists, and an exception will be thrown. Modules cannot provide changes made to the existing configuration through static YAML definitions.
Since modules cannot adjust configuration objects through static YAML definitions provided to Drupal, they can utilize the database update system to modify the configuration. Drupal utilizes a schema version for modules. The base schema version for a module is 8000. Modules can provide update hooks in the form of hook_update_N, where N represents the next schema version. When Drupal's updates are run, they will execute the proper update hooks and update the module's schema version.
Configuration objects are immutable by default. To edit a configuration, a mutable object needs to be loaded through the configuration factory service.