Config header_key_format for Envoy Filters

I have an external service that only accept header key “Authorization”. But envoy sidecar lower all of request headers key name. https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/header_casing
I created an EnvoyFilters config, but when i debug on the external service. All header case is still lowercase. Changing external service is impossible. So, how can i bypass header keys normalizing of envoy ? like this https://github.com/istio/istio/issues/18672 ?
I’m using istio 1.6.4 on EKS 1.4.9
This is my EnvoyFilters config

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: normalize-headers
  namespace: istio-system
spec:
  workloadSelector:
    labels:
      istio: ingressgateway
  configPatches:
  - applyTo: NETWORK_FILTER
    match:
      context: ANY
      listener:
        filterChain:
          filter:
            name: "envoy.http_connection_manager"
    patch:
      operation: MERGE
      value:
        typed_config:
          "@type": "type.googleapis.com/envoy.config.filter.network.http_connection_manager.v2.HttpConnectionManager"
          http_protocol_options: 
            header_key_format:
              proper_case_words: {}

Updated:
Using this and problem solved

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: normalize-headers
  namespace: dev
spec:
  configPatches:
    - applyTo: CLUSTER
      match:
        context: SIDECAR_OUTBOUND # SIDECAR_INBOUND
      patch:
        operation: MERGE
        value:
          http_protocol_options:
            header_key_format:
              proper_case_words: {}

I did the same thing on Istio 1.9 after this if I restart the pod, Istio container is not coming up.
I see this on logs:
Envoy proxy is NOT ready: config not received from Pilot (is Pilot running?): cds updates: 0 successful, 1 rejected; lds updates: 1 successful, 0 rejected

If I delete the envoyfilter everything is working as usual