Is there another GREP style that applies the OldStyle (regular) font to all plain decimals? If so, make sure this new GREP style is applied *after* that one, not before.
Ah, there is your problem then!
Local formatting always trumps GREP styles, just as it also trumps character styles. In addition, character styles trump GREP styles as well. Even when applying your Old Style font to digits with a style instead of locally overriding it, would still not work.
So you need to remove the overrides, for these occurrences only. Try this: search for the formatting combination of "GREP Character style" + "override font style", and replace with only the GREP character style again.
Thanks Jongware - I didn't know that. Certainly explains what I am seeing. Doesn't sound like I can use just GREP styles to do what I want - I don't really want to have to do a manual Find/Change for each document although that would work. I could also clear all the overrides in my document and that will make my GREP style work as intended, but I don't want to lose any overrides we may have set deliberately.
I have found a way to do it using nested styles so all's well that ends well.