Of course they were foreshadowing the entire time that John would die in the end, so I was only really in suspense about how they would do it. And I think it was perfect. As boring as the last few missions were, and I've heard a lot of people criticize them, I think they made the choice to sacrifice gameplay for story in that sense, and I think it was the right one.
In hindsight, John truly was naive for not realizing that he would never be allowed to escape his old life. But because he believed he could be redeemed, I believed it along with him. The last hour or so shows how John hopes his life could be, what he always wanted, but in the end he couldn't escape his past. I thought it was poetic, and it really made me appreciate the character all the more.
It's clear they always intended to kill him (he was, after all, "the last enemy that shall be destroyed"), I just can't decide if it was cruel to let him think he was free or if it was a blessing that he had the time to make things right with Abigail and Jack. I'm leaning towards the latter.
I played John as an honorable man who did everything right. And still he was betrayed. Which is perfect, because now I can feel free to use Jack to seek out vengeance for his father by performing every dastardly deed imaginable. Tying a nun to the tracks Achievement, here I come.
So yeah, I loved the ending.