Can't enable Otel using dynamic config

Hi, I am following this to trace my self-hosted temporal cluster.

I have a dynamic config like this

otel:
  - value:
      service:
        name: temporal-local-test
      exporters:
        - kind:
            signal: traces
            model: otlp
            protocol: grpc
          spec:
            connection:
              insecure: true
              endpoint: http://xxx.xxx.com
      metrics:
        exporters:
          none: {}
      logs:
        exporters:
          none: {}
      logging:
        level: OFF

And I start the server using

docker run \
  --name temporal-lc \
  -e DB=mysql8 \
  -e DB_PORT=3306 \
  -e MYSQL_USER=root \
  -e MYSQL_PWD=123456 \
  -e MYSQL_SEEDS=host.docker.internal \
  -e SERVICES=frontend,history,matching,worker \
  -e LOG_LEVEL=debug \
  -e DYNAMIC_CONFIG_FILE_PATH=/etc/dynamic-config.yaml \
  -v $(pwd)/otel.yaml:/etc/dynamic-config.yaml \
  -p 7233:7233 \
  -p 7234:7234 \
  -p 7235:7235 \
  -p 7239:7239 \
  temporalio/server:latest

Through log, I can use it identify my dynamic config with key otel. However, the server start-up log is still

{"level":"debug","ts":"2024-06-27T09:29:51.490+0800","msg":"archival:"xxxxxxx otel: {} xxxx"}. 

It seems that the otel config is not working. How can I fix this issue.
Thanks!