There is a hacky workaround for this. You can go to the failed run > startTrigger > data and then scroll to the bottom, you will find a "Use as example JSON".
This will basically put the data from that workflow in your initial startTrigger block. After that, you can manually play un run workflow so that this is logged.
With regards to the other use cases you mentioned, I agree with you. In fact, I submitted a similar feature request here.