For callers answering a cq, the contest format of simply sending a callsign seems to work ok, but some operators find it confusing as they are unsure who is being called.
When acknowleding the caller, the abbreviation of leaving out the word DE is a fairly recent change. I use DE when I first acknowledge the caller and I send the caller’s callsign so all on frequency know who the report is intended for.
Usually there would be no need to use KN on any but the initial transmission to a specific caller.
I think there’s an error in your line that has the same callsign twice.
On most contacts I would use BK instead of KN, because (to me) KN only has meaning in the context of a reply to a spcific station, where there is ambiguity. Having established callsign Y is being called, the BK is sufficient at the end of a transmission.
But as you see, even a sample QSO is subject to personal preferences and habits. I’m not claiming I’m right or that anything else is “wrong”.
Ideally you would be prepared to accept anything after the RST report ranging from full callsign exchange including DE followed by K or KN all the way down to BK.
The main thing at present is to realise that everybody cannot copy everybody, band conditions are long and unreliable, so removing ambiguity is more important than fast contacts. Faster speeds don’t always increase the contact rate.
After all that, a method has to be adopted for correcting errors. If your caller sends their callsign more than once, it means they think you don’t have it right. So the best response to that is to send their callsign again at least once and ask QSL? BK to which the repsonse should be QSL TU etc. (or if they send their callsign again, they still don’t think you have it right.)
For SOTA, some ops always seem to request your summit reference. This should be done by REF? To which you reply REF G/NP-001 etc.