I think the correct strategy is to always spend from the UTXO with the highest amount of bitcoin. Is there is a flaw in this strategy?
There is no "one answer" for this: it depends

If you're always using your largest input to make small payments, the other party knows you own that much Bitcoin. If you're okay with that, your smallest inputs keeps getting smaller. If, in the future, you want to make a large payment, it's cheaper to have one large input than having to use several smaller ones.
I would use small inputs for small payments. If you have enough of them, you may be able to use one without creating any change at some point. Or, my other favourite: combine payments so you have no change left, for instance by topping op a VPN or hosting balance. That way you're effectively making the small dust someone else's problem.
At current fees, I wouldn't worry too much about using 2 inputs when making a transaction. It's not ideal, but the cost isn't that high either.