Path header value is not a sip parameters string (which is name1=value1;name2=value2; ...), but a name-address. You are using the wrong approach by doing only param transformation. Sometimes you may get the right value (eg., in this case, when there is another parameter after received), but that's because of a pure string delimiter parsing.
So, you have to combine {tobody.uri} and {param.value,received}