How to display messages "properly" when using ajax submit?
Finally, after hours digging Drupal Answers, I made it work this way.
My ajaxCallback:
$response = new AjaxResponse();
if ($form_state-&gt;hasAnyErrors()) {
  $messages = \Drupal::messenger()-&gt;deleteAll();
  $messages = [
    '#theme'        =&gt; 'status_messages',
    '#message_list' =&gt; $messages,
  ];
  $response-&gt;addCommand(new ReplaceCommand('#messages', ''));
  $response-&gt;addCommand(new AppendCommand('.region-highlighted', $messages));
}
else {
  $response-&gt;addCommand(new \Drupal\Core\Ajax\RedirectCommand(Url::fromRoute('&lt;front&gt;')-&gt;toString()));
  }
}
return $response;

and my submitForm is now empty!
Nota: $response-&gt;addCommand(new ReplaceCommand('#messages', '')); is here to have a new error message replacing a previous one (without this command, all the messages are displayed one after the other...).