Is there any reason why he didn't deal with the seller directly using Localbitcoins or any other escrow trading platform of the same calibre?
There is a commonly held -- but false -- belief that "double spent" unconfirmed transactions can't be propagated across the network, and that mining pools will reject them, based on node policy. This has often been repeated around here, even by people who should know better.
In this case, the network and BTC.com mining pool obviously didn't care.
These words of wisdom from Satoshi are still relevant today:
As you figured out, the root problem is we shouldn't be counting or spending transactions until they have at least 1 confirmation. 0/unconfirmed transactions are very much second class citizens. At most, they are advice that something has been received, but counting them as balance or spending them is premature.
Someone receiving bitcoin and waiting for a block confirmation before releasing payment doesn't really need to use escrow.