It seems like the diff for pull requests is taking into account both the outgoing and incoming changesets. This is not useful for review purposes, and is actually very confusing. Instead a better solution is to show a diff between the most recent changeset in the Pull Request (which may be tip, or the head of another named branch or bookmark) and the most recent common ancestor between the fork and its parent. This allows the reviewer to see an aggregate diff of the outgoing changesets -- which are the changes that happened in the fork itself (which is what is interesting when reviewing code).
Issue #590 resolved