You will need to ask the plugin's author, not I. You are correct in your initial assumption that NGUI doesn't support RTL languages natively.
You will want to look at UILabel.ProcessText function. It calculates the size using NGUIText.Wrap, and if it doesn't fit, reduces the font size by a notch and tries again until it does.
Your string split is way too long. It should be simply:
processedText.Split('\n');