Missing fields and value on Kibana runtime fields

Hi,

I was attempting to creating field on fly in Kibana using runtime fields
The following is my attempt try to temporarily label the value of the 'aws.waf.id' field as 'tmp' fields in Discover

Both field and value of 'aws.waf.id' does exist but somehow the script shows that the field is missing or null.

However if I tried to access the field using "params._source.aws.waf.id" in DEV tool, I was able to retrieve the value.
The request I pass on DEV tools

GET .ds-logs-aws.waf-default-2024.04.25-000973/_search
{
  "size": 1,
  "query": {
      "match_all": {}
  },
  "script_fields": {
    "FIELD": {
      "script": "params._source.aws.waf.id"
    }
  }
}


The respond I got

{
  "took": 5,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 10000,
      "relation": "gte"
    },
    "max_score": 1,
    "hits": [
      {
        "_index": ".ds-logs-aws.waf-default-2024.04.25-000973",
        "_id": "0c0e0c302f-000001301929",
        "_score": 1,
        "fields": {
          "FIELD": [
            "regional/webacl/<REDACTED>/<REDACTED>"
          ]
        }
      }
    ]
  }
}

The elastic was set up using integration WAF (ref: AWS WAF | Documentation).
Is there any explanation for this ? Thanks !