EnvoyFilter migration

I am igrating Istio from 1.17.3 to 1.20.1. These EnvoyFilters no longer work:

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: buffer-limit
  namespace: istio-system
spec:
  configPatches:
    - applyTo: CLUSTER
      patch:
        operation: MERGE
        value:
          per_connection_buffer_limit_bytes: 5000000
    - applyTo: LISTENER
      patch:
        operation: MERGE
        value:
          per_connection_buffer_limit_bytes: 5000000

Error in IngressGateway: Didn't find a registered implementation for 'envoy.filters.http.buffer' with type URL: ''

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: size-limit
  namespace: istio-system
spec:
  workloadSelector:
    labels:
      istio: ingressgateway
  configPatches:
    - applyTo: HTTP_FILTER
      match:
        context: GATEWAY
        listener:
          filterChain:
            filter:
              name: envoy.filters.network.http_connection_manager
      patch:
        operation: INSERT_BEFORE
        value:
          name: envoy.filters.http.buffer
          typed_config:
            '@type': type.googleapis.com/udpa.type.v1.TypedStruct
            value:
              maxRequestBytes: 1073741824

Error in IngressGateway: Didn't find a registered implementation for 'envoy.filters.http.buffer' with type URL: ''

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  namespace: istio-system
  name: gzip
spec:
  workloadSelector:
    labels:
      istio: ingressgateway
  configPatches:
    - applyTo: HTTP_FILTER
      match:
        context: GATEWAY
        listener:
          filterChain:
            filter:
              name: envoy.filters.network.http_connection_manager
      patch:
        operation: INSERT_BEFORE
        value:
          name: envoy.filters.http.compressor
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.http.compressor.v3.Compressor
            remove_accept_encoding_header: true
            response_direction_config:
              common_config:
                min_content_length: 100
                content_type:
                  - application/octet-stream
                  - text/plain
                  - application/json
                  - application/javascript
                  - text/html
                  - application/pdf
                  - text/css
                  - text/csv
                  - application/msword
                  - application/vnd.ms-excel
                  - application/vnd.ms-powerpoint
                  - image/svg+xml
                  - application/x-tar
                  - application/xhtml+xml
                  - application/xml
                  - text/xml
                  - image/bmp
            compressor_library:
              name: for_response
              typed_config:
                "@type": type.googleapis.com/envoy.extensions.compression.gzip.compressor.v3.Gzip
                memory_level: 9
                window_bits: 15
                compression_level: 9

Error in IngressGateway: Didn't find a registered implementation for 'envoy.filters.http.compressor' with type URL: ''

What is missing in these configs?