How to force a redirect (override the destination query string in the URL)
To force a redirect remove the destination query string from the request:

\Drupal::request()-&gt;query-&gt;remove('destination');


After this you can also reset the RedirectDestination service, although this seems not to be necessary for a form:

\Drupal::destination()-&gt;set(NULL);


When you have already a URL object set it directly in $form_state:

$form_state-&gt;setRedirectUrl($url);