It is working for me.
Maybe you get confused because of the permanent vars.
When you send this filter trough URL, the values stays as permanent.
This is a problem I see now. It shouldn't. Only filters posted trough POST should apply permanent var.
According to the REST standards (but also better in any case) :
GET : only reading
POST : applying changes
So, there is a Cook issue here, I move in new tickets.
If you confirm your issue is related to that, I will change title of the post.
In your case, for debbuging :
If everything is ok without JDom (manual link), so it means you experience difficulties only with JDom.
The example you give is correct. What is the returned url.
What happen if you copy paste the link ?
Stange, but easy to sort it out.
The source code building the link are in :
dom.php : getRoute()
html.php : createRoute()
html/link.php : buildLink()
(Stack list)
Hope it helps you.