Query returns wrong sorting when sorting with scaled_float field

Versions :
Openseach version: 2.19.0
OS: Linux/Ubuntu

Description :
I have this field in my opensearch index

"amount": {
  "type": "scaled_float",
  "scaling_factor": 10000
},

when i try to run a query to get my documents sorted by the amount the documents are not well sorted

GET myIndex/_search
{
  "_source": ["amount"],
  "query": {
    "match_all": {}
  },
  "sort": [
    {
      "amount": {
        "order": "desc"
      }
    }
  ],
  "from": 11,
  "size": 21
}

I tried to execute the query in two different ways one using query and the other without the latter did succeed and sorted the documents well using the amount but the first one didn’t if someone can explain why this behavior happens (Note: all of the documents have the same source_system)

Successful sorting:

GET myIndex/_search
{
  "_source": {
    "includes": [
      "country",
      "creation_timestamp",
      "amount"
    ]
  },
  "from": 0,
  "size": 10,
  "sort": [
    {
      "amount": {
        "order": "desc"
      }
    },
    {
      "@timestamp": {
        "order": "desc"
      }
    }
  ],
  "track_total_hits": true
}

Wrong sorting:

GET myIndex/_search
{
  "_source": {
    "includes": [
      "country",
      "creation_timestamp",
      "amount"
    ]
  },
  "from": 0,
  "query": {
    "bool": {
      "filter": [
        {
          "match": {
            "source_system": {
              "query": "SAC"
            }
          }
        }
      ]
    }
  },
  "size": 10,
  "sort": [
    {
      "amount": {
        "order": "desc"
      }
    },
    {
      "@timestamp": {
        "order": "desc"
      }
    }
  ],
  "track_total_hits": true
}

I tried another thing which succeeded when using the second query with match which is adding “track_scores”: true if anyone can help me understand the behavior happening why the first query without the match filter it sorts well by the amount and the second one it doesn’t till i add track_scores.
Another thing to mention is when modifying the type of the amount field to double it sorts well without any problem that happens only with scaled_float i don’t want to use this solution since it requires re-ingesting all the data.