If your REF fields have all been inserted in the standard way, i.e. with a space between the { and the "REF", then go through the process again, but in the FInd: box, put a space before the REF, i.e. use
" REF * \\h"
(but without the double quotation marks)
That should apply the formatting you want to (almost) all of the text starting at the first space.
This problem is the result of an oddity that appeared in Windows Word 2007 I think. If you only have (say) English and other western European languages enabled in Word, applying the formatting to the "R" of "REF" should be enough. If, however, you enable certain other languages, you must have a space before the "REF", and you must format that space the way you want (the formatting of the "R" is ignored". SO Using " REF" and ensuring that both the space and the R are formatted as required should be enough. Typically, it is easiest to select the whole field and apply the formatting.
"other languages" certainly include languages that use RTL scripts, and Hindi, which leads me to suspect that it may be "any language that uses a non-Latin script". But I haven't checked extensively.
The definition of how \*Charformat is supposed to work has always been ambiguous. Early Word documentation talked about applying the formatting to the first character in the field, but at that time, Word did not insert a space before the field code name by default. So the first character would have been the R. Even the .docx standard documents do not clear it up completely (unless they have done so in the 2012 version.