Having trouble with native query variables in MongoDb aggregation pipeline

I have a collection of documents that contain a field called "timestamp", the values of which are formatted like 2024-06-01T00:00:00.000Z. I've included the field in the match stage of an aggregation pipeline using a hard-coded value like so:

{timestamp: {$gte: "2024-06-01T00:00:00.000Z"}}

Running the pipeline returns the data I'm looking for, but I'd like to replace the hard-coded timestamp with a variable. However, I don't get any results when I change the line to the following and select a date:

{timestamp: {$gte: {$concat: [{$dateToString: {date: {{start}}, format: "%Y-%m-%d"}}, "T00:00:00.000Z"]}}}

If I remove the statement from the match stage, add it to the final projection, select June 1, 2024 for the variable value, then run the pipeline, I can see that the resulting string is exactly what I'm looking for: 2024-06-01T00:00:00.000Z.

Any ideas why I'm not getting results when I add the variable?

BTW, we're running v1.47.5, in case that's important. And I currently have no way to upgrade to the newest version in order to see if that would fix it :frowning:

why can't you upgrade?

Why does that matter?

Am I doing something obviously wrong here, or is this just not possible in 1.47.5?