The frames are sent in multiplexed fashion and have a stream id. The receiver re arranges frames with the same stream id but what happens if an older frame arrives first?
Is there a concept of sequence number in http2.0 stream frames?
At the moment, HTTP/2 is only specified for transport on top of TCP, which is a connection-oriented, reliable protocol, IOW it guarantees that packets are never re-ordered, duplicated, or lost. As long as the sender sends the frames in the correct order, they will arrive in the correct order.
Likewise, HTTP/3 is essentially HTTP/2 adapted for transport over QUIC instead of TCP. QUIC again, is a connection-oriented, reliable protocol like TCP, even though it is based on UDP.
In other words: as long as frames are sent in the correct order, they cannot be received in the wrong order, so there is no need to have provisions in the spec for that.