I had the same problem with TKBs + manual sorting a while ago, the following is a comment in my code:
As a workaround to get threads in order of the manual sorting order which is only accessible by
/topics API call, also topics/style/<style>/recent does not inherit this manual sorting order, so
we have to first get the topics and then extract the thread objects with another REST call to message.thread.@href.
The difference between topics and threads is that a thread contains the messages within it, a topic does not!
It would be much easier if the Lithium devs had implemented this manual sort order option with a request parameter for "message_viewer.topic_sort_order", e.g. "topic_sort_manual" or something equivalent, so the REST request URL could be postfixed with <restapiqueryurl>?message_viewer.topic_sort_order=topic_sort_manual
looks like nothing happened here regarding consistency between default components and API output. Please fix that =)!