Programmatically change the available options in a views exposed filter
I think you are very nearly on the right track, and I don't think you necessarily need a hook. I was able to perform essentially the same task with the following code in a class method.

// Get reference to your view.
$storage = \Drupal::entityTypeManager()-&gt;getStorage('view');
$view = $storage-&gt;load($view_id);

// Be sure to get a specific display.
$view-&gt;getExecutable()-&gt;setDisplay($display_id);
$display = $view-&gt;getExecutable()-&gt;getDisplay();

// Retrieve filters. If the combine fields filter is present,
// edit it then assign back using `overrideOption`.
$options = $display-&gt;getOption('filters');
if (isset($options['combine'])) {
  $options['combine']['fields'][$field_name] = $field_name;
  $display-&gt;overrideOption('filters', $options);
}

// This is the critical missing step.
$view-&gt;save();


I hope this helps.