In general you can't use styles in InDesign to change the content of a text - only the appearance.
But in this specific case, it is actually possible because uppercase can be styled.
Make a Character Style where you set Basic Character Formats to All Caps. You can call it "Uppercase" or something like that.
In the Paragraph Style where you want the substitution to take place, make a GREP Style like this:
This applies the style "Uppercase" to text which matches the pattern:
It selects an
m in the beginning of a word
\<, using a Positive Lookahead
(?=) to make sure it's followed by
oonshine which is the end of the word
This seems to work well:
What might be a problem though, is that the character m isn't actually being substituted. It's just styled. So if you copy/paste the word from InDesign to another application, it won't be capitalized.
If you export a PDF and copy/paste from that, the word will be capitalized though. So it might not be a problem for you.
I wouldn't personally do it like this, as I think it obscures what's going on in your document. I would just perform a find/change at some point.
You could also look into using Autocorrect, but it only works when typing the word letter by letter - not if you paste it in.