He's glad, in the end, that Jack doesn't tell him he loves him. It would have been too cruel, too tasteless. Because if Jack says the words, then he knows for sure that they don't mean anything. They would be said for comfort, said because Jack thinks he wants to hear them as he goes into the dark.
When he doesn't hear them, just a little bit of the doubt and suspicion that he had directed at their relationship lifts.
Jack isn't saying the words, and it makes him happier each second as he edges towards death, that Jack still isn't saying them, because that can only mean what he hopes it means which is that Jack cares.
Jack cares and so he can't say anything, can't hold himself accountable, can't seek absolution by giving himself that final moment of closure. Jack cares enough not to say goodbye. Jack cares enough not to want to say good bye.
Jack's only selfish when he loves.
It's why he brought Owen back; it's why he won't quite stop flirting with Gwen. It's why Gray isn't dead. When Jack truly cares about someone, he stops being the captain; he stops saving the world and doing the right thing. He's selfish.
Ianto is happy as he is dying because the man he is in love with, loves him. And world-ending disasters aside, there's not much more he can think to ask for at the moment.
