Some other alternatives in the event you can't get this working.
1) Snat always and insert the client information into a header that you can then extract on your webservers
2) Snat always and log client info on the BigIP and send to a syslog server where the information can be extracted
3) Use another approach with iRules that involves redirects to the other datacenter if the server selected was not local. Insert a cookie with the other datacenter's server information so the other BigIP will evaluate the cookie and send the connection immediately to that server, circumventing the load balancing decision and avoiding potential redirection loops.