According to the documentation a NameFilter has to be applied on a file's name, but the extract method applies it on the zip's entryName, which - in cases where the zip file contains directories -- is a full path.
This leads to a quite different semantic (e.g. an ExactFilter that matches on nested directories on file system doesn't match for extract)