Hi! Yes, that’s normal. As you can also guess from the signature of RooAbsReal::plotOn(), it will change the state of the RooLinkedList because it takes a RooLinkedList & reference and not a RooLinkedList const& const reference.
The common pattern in RooFit is to copy the list before passing it to the function:
#!/usr/bin/env python3
import ROOT
w = ROOT.RooWorkspace("w")
w.factory('Gaussian::model(x[-10,10],mean[1,0,2],sigma[1,0.2,5])')
x = w['x']
x.setRange('rA',-10,3)
a = {"Range" : "rA"}
print(a)
xframe = w['x'].frame()
w.pdf('model').plotOn(xframe, **a)
xframe.Draw()
tt = input('aaa:')
print(a) # it will also not clear your input arguments