Calling a sub-flow does actually take dynamic parameters but this flow has custom parameter prompting section defined. And that is the reason it is taking the value as it is. Any other flow without parameter prompting section will take dynamic references for parameters.
An alternative way would be to call this flow using Split-join shape (instead of sub-process shape). We don't use advance parameter prompting yet in Split for each and Split-join shapes so you should be able to achieve it using them.
Feedback, I am not sure, since this is an internal (pz) flow and is not supposed to be called directly.