While the behaviour isn't ideal, it's a balance between providing something that looks good even in edge cases, and loading up lots of extra code to deal with those edge cases. In this instance, the amount of extra work required to dynamically detect a screen overflow after the content loads doesn't seem like an economic endeavour to undertake.
Additionally, there is always a way to see the whole preview. It only happens if thread listing page is scrolled down. Because, due to header, top navigation, breadcrumb and page title etc. even the first entry has enough space above itself to fit the preview tooltip.