As long as USD isn't shown on the order page, invoice, or receipt, I agree 100%.
It wouldn't matter if a page showed USD prices along with BTC. Paying in BTC implies being refunded the full/original BTC amount, no matter what USD prices are on the page. Anything else is a seller hedging value against the buyer.
by the same reasoning you can buy 1oz now, then come back 5 weeks later and say "BTC has doubled, send me another 1oz, ok"
not.
That's the opposite reasoning not the same reasoning. If you're going to apply the same reasoning to the opposite situation, you get the opposite result, not the same result. You are arguing that the same reason applied to the opposite situation gives the same result, which it doesn't.
The reasoning is that no party has the opportunity to make a strategic decision to change the terms from what was agreed if they are better off with different ones at the expense of the other party. If a party makes the decision to cancel or seek a refund or whatever, this decision may not make them better off at the expense of the other party compared to what would happen if they went through with the sale as agreed.