when i try to open the same windows with a button and send different parameters, the windows open up but the path parameter does not get passed or updated
Right, that expression needs an array of dictionaries. Your popup action is only passing a simple dictionary, when it needs to pass a single dictionary in a list.
If you only ever want to pass a single tag to the popup, you can make a view custom property that encapsulates a single dictionary in a list, so that the history binding can use it.