How can I save and exit from the middle of editing an already completed multipage webform submission?
I was able to get this to work like so:
In a form alter, make the Submit button visible, and change the name.
   if (stristr($form_id, 'edit_form') !== FALSE) {
    $form[&quot;actions&quot;][&quot;submit&quot;]['#value'] = t('Save &amp; Exit');
    $form[&quot;actions&quot;][&quot;submit&quot;][&quot;#access&quot;] = TRUE;
    $form[&quot;actions&quot;][&quot;submit&quot;][&quot;#_webform_access&quot;] = TRUE;
    // Add a custom submit function so we can redirect the edit form.
    $form['actions']['submit']['#submit'][] = 'mymodule_webform_submission_form_submit';
    $form['actions']['submit']['#validate'][] = 'mymodule_webform_submission_form_validate';

  }

Next, in the custom validation function:
  // If this is the edit form, and the submit button is the trigger, always
  // do the final submit by setting the current wizard page to the confirmation
  // page.
  $trigger = $form_state-&gt;getTriggeringElement();
  if ($trigger[&quot;#id&quot;] == 'edit-actions-submit' &amp;&amp;
    stristr($form['form_id']['#value'], 'edit_form') !== FALSE) {
    $form_state-&gt;set('current_page', 'webform_confirmation');
  };

Finally, in the custom submit function:
$build = $form_state-&gt;getBuildInfo();
$callback_object = $build['callback_object'];
$entity = $callback_object-&gt;getEntity();
$source = $entity-&gt;getSourceEntity();
if (!is_null($source)) {
  $nid = $entity-&gt;getSourceEntity()-&gt;id();
  $form_state-&gt;setRedirect('entity.node.canonical', ['node' =&gt; $nid]);
  $form_state-&gt;setRebuild(FALSE);
  \Drupal::messenger()-&gt;addStatus(&quot;Your work has been saved.&quot;);
}

While this answers my question, it leaves me having to deal with potential errors from conditionally required fields affected by whatever changes the user is trying to save.