Don't cache custom Front Page domain
Could be a caching issue within the browser, Drupal or both. For the browser set cache headers in the response, see https://drupal.stackexchange.com/a/278703/47547.

For Drupal caching add a cache context user.roles:

$response-&gt;getCacheableMetadata()-&gt;addCacheContexts(['user.roles']);


Furthermore it is recommended to execute a redirect event subscriber only on a master request, this helps to prevent redirect loops:

public function checkFrontRedirection(GetResponseEvent $event) {
  if (!$event-&gt;isMasterRequest()) {
    return;
  }
  ...
}