8 – EventSubscriber returning correct content but status code is 404

As the title says, content is being returned correctly but the status code is 404.

I have checked the .htaccess file and the Apache config file as well. All seems to be fine.

I have the following in my module routing file:

  path: /api/{state}/news
    _controller: Drupalmy_moduleControllerNewsController::index
  methods: (GET)
    _access: 'TRUE'

This is the function that does the redirect in my EventSubscriber

public function redirectRequestToModule(GetResponseEvent $event) {
            $request = $event->getRequest();
            $validPathBegins = ('/men', '/nat');
            // This is necessary because this also gets called on
            // node sub-tabs such as "edit", "revisions", etc.  This
            // prevents those pages from being redirected.
            $requestUri = $request->getRequestUri();
            if (!in_array(substr($requestUri, 0, 4), $validPathBegins)) {
            $node = $request->attributes->get('node');
            // get the configured request query parameters for this content type
            $redirect_url = '/api' . $requestUri;
            $kernel = $event->getKernel();
            $response = $kernel->handle(Request::create($redirect_url));

This is what I type in the browser: mysite.com/nat/news/

The content returned is correct but the status code is 404.

P.S There isn’t a reachable path on my Drupal website like /nat/news. The path mentioned is supposed to return a list of news articles.