I thought all transactions get added to a mempool and didn't know if a timestamp was a part of being added.
Each node maintains its own mempool. There is no way for you to know which transaction was added to my mempool first. Transactions do not have timestamps, and if they did, there'd be no way to prevent a user from creating a false timestamp on a transaction when they send it.
I just see that when a transaction takes this long to confirm its a flaw in the system.
Pay a higher transaction fee, and your transaction will confirm faster.
It isn't a "flaw" in the system. It's a design feature.
(Although I suppose that someone might come out with new mining software that tries to avoid the particular attack that is going on right now.)