Well, git-filter-branch *is* rewriting history. It is what it was designed to do: create a new "history" by copying another one while changing parts of it.
What they seem to be wanting is something different, and not something which can be done with normal git tools: to do a partial clone, ignoring some parts of the history. Some thing like "clone me that tree except blobs abcdef1 and def2abc", and being able to checkout a commit which references these blobs even though they do not exist. This might need some deep changes in the git code; AFAIK it does assume that if it has a particular commit, it has all the trees and blobs referenced by it (but perhaps not the parent commits, due to shallow clones).
A clone made with that magic git would not have the bits for all the blobs they decided to ignore, while keeping the same commit, tree, blob, and even tag hashes (the trees would simply be referencing blobs which do not exist).
Of course, this does not work when downloading from a normal git server; the remote server will create (or reuse one it already has) a highly-compressed pack with all the history for the requested commits. But after that, they could unpack and clone from *that* with their magic git, and since both sides are now the same hacked git, it will omit the bits they are scared of.