I definitely agree that over-engineering is a problem. My feedback was meant to be about how to communicate that balance.
In your example, if you tell the other person that their database sharding is over-engineering, they can say one of two things:
a) No it isn't.
b) Yes it is and I think over-engineering is a good thing.
I have never heard someone say (b); if they thought it was over-engineering then they wouldn't have advocated for it. The negative quality is part of the definition.
What you're likely disagreeing on is how far in the future you're team should be thinking or how much data is necessary to make a confident decision.
I don't think it was your intent to stop long-term thinking, but if someone says "we shouldn't over-engineering things", I don't think that solves any ambiguity because no one was intentionally over-engineering before.
It's akin to saying "don't do bad things." People never do bad things, only things that are bad under a different set of principles or based on other values.
My feedback is that this document should define what over-engineering means in their context (since it, like what is "bad", is context-specific) and lay out what engineers should look out for.