shows that you should create your own implementation of QFuture (based on undocumented QFutureInterface)
The QFutureInterface class was exactly where I ended up in my research. It is key to the whole thread execution - QFuture link. But you are also correct that there is no direct connection between the QtConcurrent thread manager and the worker threads themselves. In order for that to happen, the workers would probably have to post QFutureCallOutEvent events to the event loop so the QFutureInterface could pick them up and map them into signals.

Seems like much more work than it is worth unless you are developing a reusable framework instead of a one-off solution for a given project. And I don't trust using undocumented Qt, even if it has been around and pretty stable since Qt4.