### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

I have a terraform-managed localstack setup that uses s3 and opensearch. 

In our docker-compose for localstack, we set the OPENSEARCH_ENDPOINT_STRATEGY to path, and when we use the aws cli for opensearch we can see the endpoint follows the expected path strategy. 

However, when we curl that endpoint, we get the following error:

```
$ curl http://localhost:4566/opensearch/us-east-1/example/
<?xml version='1.0' encoding='utf-8'?>
<Error><Code>InternalError</Code><Message>exception while calling s3 with unknown operation: MyHTTPConnectionPool(host='127.0.0.1', port=60769): Max retries exceeded with url: / (Caused by NewConnectionError('&lt;urllib3.connection.HTTPConnection object at 0x7efc3c205840&gt;: Failed to establish a new connection: [Errno 111] Connection refused'))</Message><RequestId>09b749b2-78a0-4a90-b175-9f672f14babc</RequestId></Error>
```
looks like localstack is routing to s3 instead of opensearch. Interestingly, this issue only started after I created an opensearch index and added a document to it -- before that, I was getting the expected opensearch curl results.

### Expected Behavior

I would expect the curl to hit the opensearch endpoint instead of s3

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

I'm not fully certain what the minimal repro is. We're starting localstack with a docker compose, which I can include:

```
version: "3"
services:
  localstack-mongodb:
    image: mongo:4.4.21
    container_name: localstack-mongodb
    ports:
      - "27017:27017"
    command: mongod --replSet rs0

    # Enable interactive mode
    stdin_open: true

    # Allocate a pseudo-TTY
    tty: true

  localstack-redis:
    image: redis:7.0.11
    container_name: localstack-redis
    ports:
      - "6379:6379"

  localstack:
    image: localstack/localstack
    container_name: localstack
    environment:
     - OPENSEARCH_ENDPOINT_STRATEGY=path
    ports:
      - "4566:4566"
      - "4510-4559:4510-4559"
```

followed by:
opensearch.js 
```
opensearchClient.create({
  index: 'foo'.
  body: {
    settings: { 'index.knn': true },
    mappings: {
      embedding: {
        type: 'knn_vector',
        dimension: 512,
        method: { engine: 'faiss', name: 'nsw' }
      }
    }
  } 
})

client.index({ index: 'foo', body: { embedding: [ ... 512 numbers ] });
```


### Environment

```markdown
- OS: 20.04
- LocalStack: latest
```


### Anything else?

NA
import dataclasses
import logging
import os
import threading
from typing import Dict, List, NamedTuple, Optional, Tuple
from urllib.parse import urlparse
import requests
from werkzeug.routing import Rule
from localstack import config, constants
from localstack.aws.api.opensearch import (
    AdvancedSecurityOptionsInput,
    EngineType,
    ValidationException,
)
from localstack.http.client import SimpleRequestsClient
from localstack.http.proxy import ProxyHandler
from localstack.services.edge import ROUTER
from localstack.services.infra import DEFAULT_BACKEND_HOST
from localstack.services.opensearch import versions
from localstack.services.opensearch.packages import elasticsearch_package, opensearch_package
from localstack.utils.aws.arns import parse_arn
from localstack.utils.common import (
    ShellCommandThread,
    chmod_r,