Его задача вычислять, кешировать и вовремя инвалидировать зависимый стейт. Любое вычисление может быть асинхронным. MobX асинхронные вычисления не поддерживает и приходится костылять.
да, mobx синхронный сам по себе, но мне кажется, что неправильное применение mobx, если такая пробелма существует. Я даже не вижу кейса, где могло бы потребоваться делать асинхронный computed. Ты же сначала получаешь данные, потом кидаешь их в какой-нибудь observable или в несколько таких, а в computed ты от них уже отталкиваешься, чтобы вызывать точечный ререндер компоненнтов и поддержка асинхронности тут явно ничего не даст или я не понимаю твой кейс и нужен конкретный пример