On your 3rd point I agree, that is precisely why there should be measures to allow the customer to cancel the order in the first minute so that there is no wastage and the customer doesn’t get forced to spend money on something they don’t want to.
One way I see this getting implemented is a 120 second delay on the actual order placed at the restaurant.That should be enough to cancel an unexpected order.
I wonder if there is a way to hold them accountable for not implementing it.
I have had similar issues with swiggy and so have now started calling the restaurants to order. It is both cheaper and convenient.