Methedology

The only reason to capture the input transaction from the input bus would be to capture any error conditions or other “massaging” you might do in the driver to modify the transaction from what you got from the sequence via get_next_item(). If you’re not doing that, then you could pass it directly from the sequencer.
Since doing that requires actually extending the sequencer, I usually recommend sending the transaction out an analysis_port in the driver. It does the same thing, but allows you to better replicate timing and include any other driver-specific information if you want.