I'd have to agree with the op. I don't think telling a pax that they have to wait in a transit city for 21 days, at their own expense, is acceptable. If Qantas were unable to offer a suitable flight, they should have paid for the flight the op ended up taking. One or two days... That's ok, but 3 weeks??? Who here would sit around and wait?
I don't think a three week delay would have eventuated. I was very concerned about availability HKG-LHR (due to a trip of mine), and checked it during the incident. There was a reasonable amount < 3 weeks (esp in Y). I rebooked a trip using some of this availability - using the waiver in place.
I don't think anyone should ever accept what is told to them at face level. Call the call centre. Call them back and see what is said. Wait at the airport and see if standby travel happens. Check the carrier's website for more information etc. As noted above, Qantas did institute an accommodation policy above what they were legally required to do.
Re-routing without a carrier's permission will rarely end up being paid by them. This is what Travel Insurance is for (and of course you should check with them about how they want you to handle things before you book, as they may have special rates on certain carriers etc).
A carrier promises travel from A to B. Subject to legal requirements, they rarely have to provide more (or even promise when you'll arrive). Some carriers say "We don't care", others say "We'll look after passengers".