AAX / ProTools - plugin states persistent over multiple sessions?

Yes, the old plugin id is restored in the setStateInformation method from the ValueTree that is de-serialized from the MemoryBlock, together with all the other
parameters of the plugin.

No static or global variables that are mutated, the AudioProcessorValueTreeState as well as the plugin UUID are non-static members of the PluginProcessor.

I tested VST2, VST3 and AU with several other hosts, and none of them shows the same behaviour.