I expect that correlation function and expectation value should give the same answer. Is there any issue of projection being taken care in any one of them. Please let me know.
This should really give the same. It's been a while since you wrote this - has this been resolved by now?
I quickly tried to reproduce this for a random MPS, but it seemed to work as expected. If you still find differences, it would be great if you can open an issue on github and provide a (minimal working example) or example MPS where this fails.