The parameter to item_done(), does not control which item is completed. It is for sending a response to the sequence, which doesn’t sound like applies to your scenario. Let me change tactic here.
Implementing this in the driver will result in a pipelined driver. So do a little searching for pipelined driver patterns. Here’s a relevant article: Driver/Pipelined | Verification Academy
Layering is just something to consider, especially if your 128bit interface underpins other higher level protocols as well. Read up on layered agents if you want to know more. It would make your driver a simple in-order driver, and move the pipelining to the translation sequence.