If you use InnerText, it concatenates all the texts of all the xml elements that make up the paragraph internally. That's not what you want.
Instead, you need to enumerate all the Run elements of the Paragraph and for each Run, each of the Text elements, and then you take the text from there.
To enumerate the Runs, you would use a loop similar to this:
foreach (var run in paragraph.Elements<Run>())
And a similar loop would enumerate the run.Elements<Text> to get all the texts.
For more info, explore the documentation starting here for the Run.