How does OOO handled in all the cases?

I agree with Dave. I think you are getting confused between these two

  1. out of order transactions verification in a scoreboard
  2. sequence item arbitration by the sequencer

For 1 like you mentioned we use associative arrays and queues and all transactions generally have an id field.

For 2 as far I understand sequencer will handle the id. You don’t have to worry about it.