Why so? In my view, it checks all the boxes of being a good exchange. Kageyama says don’t peep when you can cut. (Lessons in the Fundamentals of Go, p. 42.) But cutting doesn’t work here. Kageyama then defines “a good peep” as one that you play when “Black cannot cut no matter how much he wants to.” (p. 43.) That is the case here. Peeping also helped you build the left side area and made White want to spend moves there.
Tenuki looks good. But the game move inappropriately places big over urgent. Your lower group needed a base. So I wouldv’e played K3 or L3. White’s follow up at H4 may cause problems.
Killing looks too optimistic. Even if you reduce the corner to one eye, White can clamp at O18 and either break out or cause more trouble than I care to fully read out. At move 75, ko seems too early. White surely won’t spend moves defending that group, since the point value is small. So Black can harass it whenever Black chooses. Start the ko when you think you can win it. For now, play elsewhere or fix the connection at O17.
This line breaks my heart. The biggest difference between SDK and dan is, in my opinion, profit through attacking. Under no circumstances would I ever see a lone enemy stone in my area of influence, surrounded by my stones, and think, “I’d better preserve my points here.” Please, no! I can already see Akira Ishida in my mind’s eye disapprovingly wagging his finger in front of my face. I couldn’t do it. I’d reread Attack and Defense before every game for the next month. Needless to say, the voices in my head are telling me to start a leaning attack at O4.
Yes, I don’t see a good move there. It’s not a direction issue though; it’s more that you’re getting your due after having not defended it at O17. After the cut, I’d answer on the same side, but at O18, since the ladder favors White. The next move looks worse. I think you’re looking for a defense at N18. You need more hanging connections in your life. We all do.