Please be careful with asynchronous microflows, I've had some serious issues with them in the past (mostly errors about newly created objects/uncommitted changes/read access).
I'm glad you found a work-around, but I would advise to solve the root-cause and indeed see if you can prolong the request time-out. Default values are like 2-5 minutes.
Although I would love to execute all my microflows within 15 seconds, it can be quite constraining. Good luck!