Yes, minor type. It should be [HTTP::uri].
But on the other point, there's nothing in the iRule that would be changing the URI, and the VIP wouldn't touch it either.
Not sure if you're re-encrypting between the two BIG-IPs, but you may need to capture traffic between to see what's going on.
You can also set up logging on VIP2 to report the inbound URI.
when HTTP_REQUEST {
log local0. "Incoming method: [HTTP::method]"
log local0. "Incoming URI: [HTTP::uri]"
foreach x [HTTP::header names] {
log local0. "Incoming header ($x): [HTTP::header $x]"
}
}