I will expand what my thinking was a bit (for all), but you have hit most of it pretty accurately. I probably believe Dion's value is a little less than you IIRC, to start with. Lindholm as I mentioned, probably a 2nd-3rd line prospect. The first should be a mid first. I picked Sanheim because I thought out of him, Morin, Provorov and Gostisbehere Toronto would probably want Morin or Provorov, which I don't think Philly would move, yet Toronto would likely take Sanheim, but pass on Gostisbehere.
Frattin could be used as a 4th liner or extra, and although Rupert is small, he plays a Philly style and they might like him. From our side, they are mostly just contract equalization.
For us, we turn the page a little more, and add more prospects and another 1st.
Why I thought Philly would.
Umberger has negative value, so to speak and although MacDonald is useful, he is quite overpaid. As you pointed out, moving those two contracts while upgrading their D, would be huge. With Voracek and Courturier getting big raises next season adding about $6.6 mil in cap salary, they need to find room. Add that B.Schenn and Gudas are RFA and Raffl is UFA, I think the longer Philly waits to make a move, the more the vultures will circle and they will risk losing a quality player to make space(ala Chicago) or have to add a solid prospector/pick to Umberger/Lecavalier/MacDonald while getting no useful return. They would immediately get $2mil in cap space, remove 2 poor contracts, leaving only one left and improve their D. The trade allows them to just let Schenn go end of season or move him at the deadline to recoup a little.
I felt considering the situations of both teams, it is a move that makes sense for both.