How to to redirect a form to a certain node for anonymous users?
In buildForm() you can return a redirect response the same way as in a controller:

  public function buildForm(array $form, FormStateInterface $form_state) {
    if ($this-&gt;currentUser()-&gt;isAnonymous()) {
      return $this-&gt;redirect('entity.node.canonical', ['node' =&gt; 2]);
    }

    // build $form for authenticated users

    return $form;
  }


Use $form_state-&gt;setRedirect() if you want to redirect in a form submit handler.



Using buildForm() as controller by specifying _form instead of _controller is documented and widely used (not in FormInterface, but on DO: https://www.drupal.org/docs/8/api/routing-system). It's unlikely core will ask devs to replace it by their own controller.