а в целом проблема декораторов в том, что они не могут изменить сигнатуру
Да. И они подменяют реальный тип другим. Это кстати, тот же самый вопрос, что и useAction вместо dispatch. Но в MobX-подходе, на мой взгляд, декораторы допустимы. Хотя можно и без них. Я ещё помозгую на эту тему.
Если делать в стиле реатома, то должен быть какой-то хитрый declareController, который берёт класс/объект и делает из него набор атомов/экшенов, доступных через объект пропертями и методами.