Смотри в чем дело, ты думаешь перехитрить python но оказался раньше)
Если ты думаешь что в синхронном коде запускать асинхронный это верно, то ты не прав.
emit будет работать и в твой задаче это верное решение, но встает вопрос зачем тебе асинк тут, ты же будешь блокировать асинк и тем самым твои задачи выполняемые будут еще медленее.
Рекомендую в таком случае использовать другую связку, multiprocessing + qthread + qt
Создай поток в котором будет крутится твой таскер и через Pipe закидывай и получай задачи и ответы, это как вариант
Или же делай просто в синке, возможно есть что то в коробке у pyqt с асинком.