It's expected that operations on the history store happen as if they aren't operating with a transaction context. If a user session is doing operations on the history store, it's important that we don't use the transaction ID and snapshot associated with that session.
Check to make sure that history store cursors opened and used within the context of non-internal sessions are doing transaction visibility as expected. The most common case will be when an application thread is co-opted into doing eviction.