you should go with your idea. Currently, there is no way to get the intermediate output values of the required decisions. You get only the output values of the root decision that was invoked.
Possible workarounds:
adding the intermediate results to the root decision
collecting the results via literal expression
chaining the decisions via BPMN (aka decision flow)