I'm am a non US citizen flying back to my home country using a one way ticket.
Due to character limits to Kayak, I made the flight booking using initials for my first name (i.e. J D in lieu of John Doe). Will this be an issue for the TSA?
Kayak (and other web sites) state you should fill in the data as it appears on your passport or other government ID. Having said that, I often see people next to me in line with long non-English names that have obviously been truncated on their boarding passes for want of space. I would expect a small amount of extra hassle, but nothing serious. That's what happened to my colleague who comes from a region where people have only one name.
The TSA agent checking your boarding pass against your ID is human, and should be able to recognize the situation. To be extra super safe, if you have anything else that uses your initials, such as a credit card, library card, etc., you could bring it as well, just in case the TSA ID-checker has any hesitation.