Transactions have no order until they are included in a valid block. That is the entire function of the blockchain: to act as a distributed timestamp server for transactions.
can miners reverse the chronological order when packing block ?
A miner can order transactions in a block however they would like (assuming that the block remains valid otherwise, of course). Saying things like 'what is the chronological order of unconfirmed transactions?' doesn't make any sense. There are simply unconfirmed transactions, and then there are confirmed (and thus ordered) transactions that are a part of the blockchain record.
There are some cases where the ordering of transactions will matter though, for example if you create two transactions, and the second transaction spends an output that was created by the first transaction. In that case, the second transaction would only be valid if the first transaction is included ahead of it, since the second transaction would otherwise be spending a non-existent output.
If (1) is true, as a payment system, you can't get the correct timeline when backtracking, is this a design flaw?
As mentioned above, the explicit ordering of transactions is defined by their inclusion in the blockchain record. Building a system that attempts to order unconfirmed transactions wouldn't be very useful in many cases.