### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

IaC = CDK.

Attempting to connect an API-GW endpoint directly to EventBridge.

```
      const awsIntegration = new apigateway.AwsIntegration({
      service: 'events',
      action: 'PutEvents',
      integrationHttpMethod: 'POST',
      options: {
        credentialsRole: role,
        requestTemplates: {
          'application/json': requestTemplate,
        },
        passthroughBehavior: apigateway.PassthroughBehavior.NEVER,
        integrationResponses: [
          successResponse,
          serverErrorResponse,
          clientErrorResponse,
        ],
      },
    });
```

Receiving response:

```
    {
      statusCode: 400,
      data: {
        Type: 'User',
        message: `Error invoking integration for API Gateway ID '1z7ky5zzcb': API Gateway AWS integration action URI "arn:aws:apigateway:ap-southeast-2:events:action/PutEvents", method "GET" not yet implemented`,
        __type: 'InvalidRequest'
      }
    }
```

Similar to bug reported:

* https://github.com/localstack/localstack/issues/5508

### Expected Behavior

* 200 response
* Event created in relevant Eventbus

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

docker run localstack/localstack

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

Calling the API endpoint using axios from jest tests.

### Environment

```markdown
- OS: MacOS
- LocalStack: latest
```


### Anything else?

_No response_
]
            assert len(notifications) >= 1
            
            execution_arn = executions[0]["executionArn"]
            _execution_input = aws_client.stepfunctions.describe_execution(
                executionArn=execution_arn
            )["input"]
            all_msgs = []
            
            for url in q_urls:
                msgs = aws_client.sqs.receive_message(QueueUrl=url).get("Messages", [])
                assert len(msgs) >= 1
                all_msgs.append(msgs[0])
            return _execution_input, notifications[0], all_msgs
        execution_input, notification, msgs_received = retry(
            received, retries=5, sleep=15, q_urls=[queue_url, fifo_queue_url]
        )
        assert json.loads(notification) == event
        assert json.loads(execution_input) == event
        for msg_received in msgs_received:
            assert json.loads(msg_received["Body"]) == event
        
        target_ids = [topic_target_id, sm_target_id, queue_target_id, fifo_queue_target_id]
        self.cleanup(None, rule_name, target_ids=target_ids, queue_url=queue_url)
        aws_client.stepfunctions.delete_state_machine(stateMachineArn=state_machine_arn)
    @pytest.mark.parametrize("auth", API_DESTINATION_AUTHS)
    def test_api_destinations(self, httpserver: HTTPServer, auth, aws_client):
        token = short_uid()
        bearer = f"Bearer {token}"
        def _handler(_request: Request):