(JXAに対して/上で)「選択されたテキスト」というオブジェクトは無さげかな
textはそういう(JXAに対しての/上での)オブジェクトだが直接の操作単位が大雑把(character/word/paragraph)で、また、characterで「何文字目から何文字目まで」というのもできなさげ?(取得はできるけど)

だとしたら、まるっとスクリプト上でtextをもってきてそれに対して操作して、操作後にまるっと戻すかなあ

撰択した部分のテキストを持ってきてそれを操作して、撰択した部分に戻すというのは「選択されたテキスト」というオブジェクトがあってこそだと思う(それもr/oな)が無いようだし、
仮に他の方法としてtextにcharacterで「何文字目から何文字目まで」という直接操作ができればそれを消して「何文字目から」のとこに操作後のテキスト入れればいいだけだと思うが

な感じかなあ。よくわからんけど