What's the best way to add an element to a form AFTER submission?
Expanding that comment into a minimalist example code answer:

public function submitForm(array &amp;$form, FormStateInterface $form_state) {

  // get the submitted data
  $foo = $form_state-&gt;getValue('foo');

  // call any other service to process your form submission values
  // (you can replace this with dependency injection of course)
  $bar = \Drupal::service('other.service')-&gt;baz($foo);

  // add results element to the $form

  $form['results'] = [
    '#type' =&gt; 'table', // or markup, or whatever you want to build your results
     // could also do #theme for a custom theme hook.  
     // Use $foo, $bar etc however you want here
  ];

  // rebuild the form with your newly added results element,
  // and prevent drupal from redirecting to a separate GET page, 
  // so that the populated form remains visible above the results.
  $form_state-&gt;setRebuild(TRUE);
  $form_state-&gt;disableRedirect(TRUE);
}