### 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_
try:
            response = client_method(**payload)
        except ClientError as e:
            response = e.response
            
            
            error = response.pop("Error", {})
            error.pop("Code", None)  
            response |= error
        status_code = response.get("ResponseMetadata", {}).get("HTTPStatusCode", 200)
        
        response_content = json.dumps(remove_attributes(response, ["ResponseMetadata"]))
        response_obj = requests_response(content=response_content)
        response = self.response_templates.render(invocation_context, response=response_obj)
        
        
        headers = {HEADER_CONTENT_TYPE: APPLICATION_JSON}
        response = requests_response(response, headers=headers, status_code=status_code)
        return response
class S3Integration(BackendIntegration):
    
    TARGET_REGEX_PATH_S3_URI = (
        r"^arn:aws:apigateway:[a-zA-Z0-9\-]+:s3:path/(?P<bucket>[^/]+)/(?P<object>.+)$"
    )
    TARGET_REGEX_ACTION_S3_URI = r"^arn:aws:apigateway:[a-zA-Z0-9\-]+:s3:action/(?:GetObject&Bucket\=(?P<bucket>[^&]+)&Key\=(?P<object>.+))$"
    def invoke(self, invocation_context: ApiInvocationContext):
        invocation_path = invocation_context.path_with_query_string
        integration = invocation_context.integration
        path_params = invocation_context.path_params
        relative_path, query_string_params = extract_query_string_params(path=invocation_path)