Can I use System Verilog interface as BFM?

How about using the respond option from driver. Like you can start the sequenceItem from your sequence, and wait for driver respond transaction.
When DUT write_enable become high, driver will create a respond ans send it to corrsponding sequence. After that the sequence will randomize the transaction and send to driver.

Thanks
Hayk