My guess is that the similarity between poena and paenitere led to a misunderstanding by L&S. De Vaan, for example, doesn't mention poena in his entry on paenitere:
paene 'almost, practicaly' [adv.] (Pl.+)
Derivatives: paenitere (p.. -ui) 'to cause dissatisfaction, cause to regret' (Pl.+) ...
The basic meaning of the stem *paen- seems to be 'missing, lacking'. IEW connects paene with the Skt. piyati scorns', which would fit if we posit *ph2-u-; but the root is reconstructed as *ph1-i- in LIV, which does not explain Latin -ae. Also, the semantics do not match well. Nero (2007: 78f.) takes up a suggestion by Vine and proposes *p(e)-ai-ni- 'not entirely' < *'from whom has been taken away' or *'who takes away', from a preverb *pe 'away' and a verb *h1ai 'to give, take'. A PIE phoneme sequence *h1ai- is in my view not possible, however, and the existence of a PIE preverb *pe is uncertain.
Paenitere from paene seems more likely than from poena, and there is no way that paene and poena are related.