一文字ずつ表示するとテキストの色変更が欲しい結果にならない

RichTextの開始タグが切り取り範囲(表示範囲)に入っていて、なおかつ終了タグが切り取り範囲(表示範囲)に入っていない場合に、終了タグを末尾に追加すれば良いかと思います
RichTextのタグは開始と終了が揃わない限り、範囲が確定しないのでスタイルの置き換えは発生しません

あとは、タグの部分は文字数に含めないようにしたほうが良いかと思います
具体的には、 次の文字が < の場合は > が来るまで進める、などです


なお、ノードグラフを貼っていただいていますが、解像度が低すぎるので全く参考になりません