So someone else will be editing the text. Will they be doing that from within the Unity Inspector itself?
Or, can they save their text to a file somewhere and have you read it in via code, and assign it with 'myLabel.text = ...' ?
If they are going to be directly modifying the text from the Unity Inspector, then yes, you'll have to .Replace() like you mentioned. Because what your code sees is the escaped value of that: "... in \n order to..." would be "... in \\n order to" (double '\\' instead of a single '\').
All my developers save all their text into a text file, and I parse that file myself. Then all of their literal '\n' in text turn into natural newlines in the Inspector.