The problem with that solution is that it changes all Scripts, including all articulations.
A very good point. That's what I get for trying to do too many things at the same time. :)
I would suggest the somewhat hacky solution of redefining just the commands in case, like
segno = \tweak color #red \segno
coda = \tweak color #red \coda
Somewhat hacky perhaps, but effective and simple.
But if something more elegant is required (for instance if there could be conflicting tweaks) there is a solution in this thread: https://lists.gnu.org/archive/html/lilypond-user/2021-09/msg00484.html
Now this is something I just might have to steal to put into the library of code snippets I'm accumulating. Looks to be all kinds of useful. Thanks for the pointer to that.
Michael