Ok, the turn didn't bring me my flush or straight. I decide to check it, while I probably should have fired a 2nd semibluff barrel.
Anyway, he goes all-in for 5 and I'm counting outs.
It's been my feeling I'd have the best hand with any
(9), Q (3), T (3) or K(2), for a total of 17 outs. Let's say 14 or 15 in total, discounting 2/3 just in case I was up against a set, aces up or AQ... correct reasoning and call ?

I don't raise KTs from SB if someone limped before me (even if it was BU). Especially when considering BU is a shortstack. Hands like this doesn't have good playability OOP. Postflop I would usually check/raise him AI here and if villain gives freecard, that's fine too.

If there's a shortstack involved in the hand, you have to tighten your handrange instead of losening it. You usually just end up with troubles postflop when you raise here preflop. Let's say the flop is 2TJ and the shortstack pushes to your contibet, call or fold? That's why you should just call the extra 15cents and see cheaply if you flop something good.

I like your pf raise since your hand figures to be pretty good against the random trash some fishy shortstackers might play, although it needs to be made a bit bigger. Being OOP isn't too serious here since the money is short.

On the flop its an easy c/r AI if you are sure that villain will bet if you check. I don't like to risk this if villain seems a bit passive though and I prefer to lead for near the pot and push any turn (hopefully fold a J-x after a blank). With our good flop though we need to 3bet AI here if possible as our equity in the hand (both fold equity and pot equity) will usually diminish on the turn.