Just thinking, shouldn't we incorporate the base path? So it becomes

    $setCookie = new SetCookie(self::COOKIE_NAME, $locale, null, '/' . $request->getBasePath());