Time series metaField nested fields are reordered

I noticed some unexpected behaviour with time series meta fields. Since the meta field is an identity of sorts, to key into buckets I was expecting it to be sensitive to field ordering (like _id). What I didn’t expect was for the fields to be re-ordered automatically on insert, they seem to come out in alphabetical order.

Simple example:

db.createCollection("tstest", { timeseries: { timeField: "t", metaField: "m" } })
db.tstest.insertOne({ m: { b: 1, a: 2 }, t:  ISODate("2023-01-01T10:00:00"), x: 123})
db.tstest.find()
[
  {
    t: ISODate("2024-01-28T19:05:01.135Z"),
    m: { a: Long("2"), b: Long("1") },
    x: Long("123"),
    _id: ObjectId("65b6974d5b484474bf0c6a13")
  }
]

If I then try to query by the meta field, using my original declared field older returns nothing, I have to use the auto-converted order introduced by mongodb (not sure if this happens on the server or client driver side).

db.tstest.findOne({m: {b: 1, a: 2}})
null
db.tstest.findOne({m: {a: 2, b: 1}})
{
  t: ISODate("2023-01-01T10:00:00.000Z"),
  m: { a: 2, b: 1 },
  x: 123,
  _id: ObjectId("65b68ef2388215d318d5e1f1")
}

Does anyone know if this is by design and where this behaviour is documented?