This seems like a potentially counter productive heuristic. If the conclusion is that the person who is ‘wrong’ is either ‘stupid’ or ‘dishonest’ you are establishing an antogonistic tone to the interaction.
There are several other arrows pointing to disagreement (perception of ‘wrongness’), including different interpretations of the question or different information about the problem. Making it easier to feel certain that someone is either ‘stupid or dishonest’ doesn’t seem like a helpful way to move on from disagreement, since these are both ad-hominem and will make the other person defensive and less likely to listen to reason...
There are of course situations when people are wrong, but I don’t think it’s useful to include only two arrows here. For instance, if a mathematical proof purports to prove something that is known to be wrong, then another arrow is just something like “made a subtle calculation error in one of the steps,” which is not exactly the same as stupidity or dishonesty...
If you make someone defensive, they are incentivized to defend their character, rather than their argument. This makes it less likely that you will hear convincing arguments from them, even if they have them.
Also, speech can affect people and have consequences, such as passing on information or changing someones mood (e.g. making them defensive). For that matter, thinking is a behavior I can choose to engage in that can have consequences, e.g. if I lie to myself it will influence later perceptions and behavior, if I do a mental calculation then I have gained information. If you don’t want to call thinking or speech ‘action’ I guess that’s fine, but the arguments for consequentialism apply to them just as well.