Hi @ciyeh_c,
Thank you for providing the more comprehensive version of the aggregation for clarification.
Unfortunately the use of variable references are only available in certain pipeline stages and the stage that it’s being used in for in this particular case does not allow variable references to be used. However, I believe the behaviour you’re describing is being tracked on and worked on in SERVER-34766. Feel free to add your use case to the ticket as well.
In the meantime, you may need to split your query into 2 parts: one query to get the necessary route.position values, and another query containing only the $geoIntersects stage to get the final result.
Regards,
Jason