How can I get the currently submitted form state in a block on the same page?
As with most things you are learning. The answer is often simpler than first thought.

To resolve my issue I was able to use hook_form_alter and implement my own submission handler.

From here I was able to disable the redirect to prevent the page reloading. 

Once redirect was disabled then my block plugin was able to get access to the form and use the validated results within it.

My block build for demo purposes contained the following

public function build() {

  // Get the current form.
  $form = \Drupal::formBuilder()-&gt;getForm('Drupal\modulename\Form\moduleForm');

  return [
    '#markup' =&gt; "&lt;pre&gt;" . print_r($form, TRUE) . "&lt;/pre&gt;",
  ];
}


The important point is \Drupal::formBuilder()-&gt;getForm('name') returns the cached form results and therefore does not require any further validation. 

This can be verified by checking $form['#validated'] == 1.