I had a same problem but with Hebrew. I'm not a Roku developer but I've needed to solve this anyway. And I pretty solved it but there is a few issues still there. It was really challenge for me because I came from OOP world of .Net/C#, NodeJS etc.
Let's nail all challenges one by one:
All of this forced me to split my development between server and client (that is not really best practice, but I haven't a choice - BrightScript is a weak language with lack of basic functionality of strings processing and arrays manipulations ). My solution was to divide text by language regions where is RTL or LTR direction and process them separately (server-side algorithm). Than this text come to client via API ready to display, except of multi-line appearance that is implemented in application. And after all of this - there are few annoying issues in UI still there 😕
Now, guys, you understand why Roku don't support RTL 😄
That was an interesting challenge for my 25-years development experience and I think I did my best to solve this not-trivial problem. I spent around 4 full days for this (with back and force with different approaches) but it was interesting 🙂