It’s been an age since I’ve worked with IBM MQ and there are dials upon dials when setting up MQ based systems but it doesn’t off exactly once in the face of broker failure in most of its HA configurations and it uses deduplication at the protocol level to prevent duplicates.
When people say “exactly once” is impossible they really mean in the face of failure at the queue level.
The premise is that unavailability is the same as zero delivered messages, not one.
Note none of this is rigorously defined either in the article or with most message queues and the configuration of queues/brokers/clients means that there are all manner of edge cases around delivery guarantees in practice.
"Wait it out" is only a valid strategy when message rates are low enough that you can buffer them all until the network partition goes away again.
As an example, imagine a system sending a million 1 KB messages per second. To survive a 1 minute network outage it would need 60 GB extra storage to park the messages. If the outage lasts longer than it has space available, dropping messages becomes inevitable.
When people say “exactly once” is impossible they really mean in the face of failure at the queue level.