I love this question, because I have used it in a few of my Rosh Hashanna or Yizkor sermons in the past.
I am quite certain that Art Scroll (Stone) Chumash explains this difference in the 2nd verse that you cited. I don't have access to the source before me now, so, I am summarizing from what I recall. I'll try to edit in later when I can locate this source.
He explains that נחלה means "inheritance" and it comes from the root form נחל meaning a stream. When someone receives an inheritance, it is a gift that flows from one generation to the next, but as with any flow, it eventually stops at some point. For example, when one receives money as part of the inherited estate, one may use it as he wishes for himself. Once the money has been used, it's not around to pass to the next generation.
I have to research the other usages. The last verse that you cited which has both is curious.
By contrast, מורשה means "heritage". Rash"i and Ramba"n (among others) explain that a מורשה is an item that becomes a continuous endless "gift" that is required to be passed to all future generations until the end of time. This is why the Torah is called מורשה .
Rabbi Riskin gives the same explanation of these two words but expands on the idea by claiming that an inheritance is given over easily. a heritage is given via much intensive work. he also emphasizes that together with the Torah, as mentioned in the verse that you cited, the land of Israel is also called a Morasha (Shemot 6:9.) These are the only two items that the Torah calls a morasha.