SSIS: Conditional operator in expression builder ignores previous text
The solution is to encapsulate the conditional operation with parenthesis:

"Preamble
"
+
(@[$Package::myParameter] == ""  ? "" : "Middle Text")
+
"
The End"