I took the address tb1q6cvfmeqhl3ckgsv3d9tzxpjlgec7smd32a9a3d from mempool you provided and called bitcoin_get_utxos_query on BTC testnet canister public dashboard.
On the first glance I saw the JSON response did not have the first transaction 1e901469c637d10fa6acc22f4a14d344966d60fc7fea2f0a4b1039fffdd46e5e. But then I noticed that the value 546 was the same on for both first entries. Then I looked closely and realised that the first entry Tx’s were identical but have reversed representation:
This is unfortunately the nature of testnet4, it has blocks with high difficulty (around 10^10) followed by a lot of minimum difficulty blocks (difficulty == 1), which creates a lot of branches.
High-difficulty blocks appear roughly every 5-50 blocks, so you may occasionally lose a transaction if it ended up in an orphan branch.
Example picture with high-difficulty blocks (dark blue) and 1-difficulty blocks (light blue):
As @maksym pointed out, there are no duplicate transactions. When you see a transaction more than once, then this transaction has more than one output that belongs to the address in question.
Regarding the representation of transactions, since the Bitcoin canister provides a low-level interface, it uses the same byte order as Bitcoin uses internally.
Explorers use the reverse byte order, so you need to reverse the bytes if you want to search or compare them. This is just how Bitcoin works.