This starts to go a bit over my head but is it somehow possible that the getHashCode function output changes per session even though the hashed string stays the same? This didn't seem to happen on legacy everest, only on core.
If I change the hash function call to my own hash function and nothing else, the hash values start to stay consistent between sessions.