There is a difference between being honest and speaking your mind. You can be honest with yourself and people you interact with, without telling everybody what you think. Telling people, who don’t ask you, what you think is more arrogant than honest. You are not being dishonest if you think some nasty thoughts about somebody and still act nicely towards them.
If you find yourself biting your tongue to keep yourself from speaking your mind, then you should figure out if the problem is with your speaking or with your mind. If you find yourself getting upset with people and feeling the urge to tell them off regularly, then you should look at your mind. If your mind seems to be adequately empathetic, sympathetic, and understanding of those around you, but you still feel the need to tell them off, then you may reconsider the company you keep.
In trying to be honest with others and yourself, it is often best not to speak your mind, especially when your mind is angry or hurtful. That is speaking your ego. If your mind is generally considerate and compassionate, then speaking your mind should be delightful to those around you. Then, there is no conflict between being honest and speaking your mind.