TransactionID will most likely be ordered, but not guaranteed. The driver will send a request to the PLC, then wait for a response before sending the next. If the response is not received after a period of time, another request may be sent. There is a chance the PLC will delay sending a response, sometimes for many seconds later, in which this period of time it could respond to the next request, therefore making the TransactionIDs come back out of order.
Also for reads that are grouped, they will have a single TransactionID. In other words, the TransactionID is not very useful when receiving data from subscriptions.