Well, Highlight API ( https://developer.mozilla.org/en-US/docs/Web/API/Highlight ) should just work inside <textarea> too.
At least it works in my Sciter like this:
<style>
textarea::mark(myHighlight) {
background-color: yellow;
color: red;
}
</style>
<body>
<textarea>Lorem ipsum dolor sit amet</textarea>
</body>
<script>
// Select a range of text to highlight
const range = document.createRange();
const textNode = document.querySelector('textarea').firstChild;
range.setStart(textNode, 6); // Start at the 6th character
range.setEnd(textNode, 11); // End at the 11th character
// Highlight the range
range.highlight("myHighlight")
</script>
Ask your browser vendor to enable highlight API in <textarea> too :) so such tricks will not be required.