### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

As mentioned [here](https://github.com/localstack/localstack/issues/4834#issuecomment-1021009701) it seems like the `AmazonopensearchserviceDestinationConfiguration` was not added while implementing OpenSearch. I guess it just needs be added [here](https://github.com/localstack/localstack/blob/53b5c7788bf35b1882b6cb1949e17d27e198cf61/localstack/services/cloudformation/models/kinesisfirehose.py#L23-L27).

### Expected Behavior

I can (and should) use `AmazonopensearchserviceDestinationConfiguration` instead of `ElasticsearchDestinationConfiguration` (which I should only be able to use if I use ElasticSearch-Service).

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

Well, just use `AmazonopensearchserviceDestinationConfiguration` and your stream will never be able to deliver the records to your (external) Cluster. But it works with `ElasticsearchDestinationConfiguration`.

### Environment

```markdown
- OS: Windows mit WSL (Ubuntu 20.04)
- LocalStack: latest
```


### Anything else?

_No response_
),
                    "sequenceNumber": next_sequence_number(),
                    "subsequenceNumber": "",
                }
    def _preprocess_records(self, processor: Dict, records: List[Record]) -> List[Dict]:
        """Preprocess the list of records by calling the given processor (e.g., Lamnda function)."""
        proc_type = processor.get("Type")
        parameters = processor.get("Parameters", [])
        parameters = {p["ParameterName"]: p["ParameterValue"] for p in parameters}
        if proc_type == "Lambda":
            lambda_arn = parameters.get("LambdaArn")
            
            client = aws_stack.connect_to_service("lambda")
            records = keys_to_lower(records)
            
            for record in records:
                if "data" in record:
                    record["data"] = to_str(record["data"])
                if "Data" in record:
                    record["Data"] = to_str(record["Data"])
            event = {"records": records}
            event = to_bytes(json.dumps(event))
            response = client.invoke(FunctionName=lambda_arn, Payload=event)
            result = response.get("Payload").read()
            result = json.loads(to_str(result))
            records = result.get("records", []) if result else []
        else:
            LOG.warning("Unsupported Firehose processor type '%s'", proc_type)
        return records
    def _put_records_to_s3_bucket(