We had investigated this issue.
When X-Forwarded-for header exists in request header, Apache will append the IP of the proxy server where the request comes from when it rebuild the proxy request header.
LiteSpeed reuses the request header received, do not rebuild the whole header when forward the request. So, when X-Forwarded-For exists in original request header, LiteSpeed will not change it. The IP in X-Forwarded-For is where the request originated from.
We can add some code to add a new X-Forwarded-For header which includes all IPs that the request had traveled, probably in 2.1 release. Don't have time to deal with it yet.