This is a known issue, and @t0m has said it will be fixed in a future overhaul to AudioProcessorValueTreeState:
I (and others) have worked around it by adding a small delay to clear the undo history shortly after object creation, which while a total hack seems to clear it up. See my workaround at line 54: