Yes, I would still recommend the previous approach. Starting with 6.0, widgets can all page independently, and therefore have independent paging keys. Prior to this, if more than one widget on the page had pageable content, they would conflict.
However, this does mean that for multiple widgets to collaborate on the which page a given widget shows, they must communicate. And widgets can only communicate between themselves on the client-side. If it is necessary for the thread list to be paged from a separate custom widget, I would still recommend the approach of either generating these page links from the client side, or copying the pre-generated client-side links from the thread list widget and re-rendering them in the custom widget (also on the client-side).