OP's approach is a bit different in that errors bubble up synchronously rather than asynchronously, which could be great for certain use cases! But the OTel approach accomplishes much of the same - as long as systems log their traces with propagated parent IDs, a dedicated external telemetry sink can reconstruct the hierarchy.
https://www.honeycomb.io/platform/distributed-tracing