Spell check ignores text marke as "no language" so if you add that to your character style it should do what you want.
OK, I see you tried that and it didn't work.... and id didn't work here either when I tried it, but adding a hair space in front of the superscript does.
I considered that - is there any way to have the hair-space added as part of the character style? Or some other way ot make it appear automatically? I don't want to manually type them all in and I'd rather not use find-change for this if possible - it's a team effort and it's better to have something that can be set up once than add another thing everyone needs to remember.
Also, what would you use as the word-breaking minimal space character?
A discretionary line break also seems to work, and it's zero-width unlike the hair space which is very narrow, but not 0. I was worried that the discretionary break might allow a line to break between the word and its superscript component, but so far that hasn't happened in my testing. Might be good to also format withteh same character style, too, though and add No Break to the style.
Bad news is you can't add text using a GREP style, only change the format, so there's no way other than find/change or a script to insert the character.
For me, discretionary line breaks don't stop the entries creeping into the spellcheck (CS6, UK English).
Hair spaces work reasonably well - I've countered the small space by adding a GREP rule to the base paragraph style that adds a "tight tracking" character style to ~|
It turned out to not be easy to make a GREP find/change that adds a hair space only to snippets that don't already contain a hair space (since you may need to run the find/change more than once). After a lot of trial and error I figured this out:
(with the character style specified)