Implementing sklearn's FeatureHasher on Unseen Data
Feature hashing just applies a fixed hash function to its input strings; it doesn't need to have seen any data.  Note the docstring for the fit method:

No-op.
This method doesn’t do anything. It exists purely for compatibility with the scikit-learn transformer API.

There may be collisions, and you won't know it with unseen data; your model will be forced to consider these random collisions as the same, but this may not be an issue.  Feature hashing is really only meant for situations where you need to keep memory usage down.