How to save and load the state of dialogue when changing scenes

I have a dialogue system set up which stores different nodes and dialogue within a JSON file, I also have it set so that the dialogue manager recognizes if a node has already been visited before. The only problem is, once I load into a new scene, the entire dialogue system essentially reloads itself and if I revisit the scene where I originally initiated dialogue it runs as though it’s running for the first time again. I’ve tried using don’t destroy on load on my dialogue manager but doing so only destroys functionality within the dialogue system and throws errors for implementation not being set.

This seems to be quite an old topic: how to share the game state between scenes.
You should have a singleton class where you store all the information of the current game. Being singleton (and not destroyable on load) you should be able to store and retrieve any value from any scene. There you could store some variable pointing to the current dialog node.