Listen, giving unsolicited opinions is something we're probably all guilty of, but I think maybe we should all find a way to limit the number of times it happens.
Remember, there's a difference between being rude and being honest.
If someone came to you specifically and explicitly asking for advice, and you said something that may be constructive criticism but not positive, that's honesty. In any other situation where someone didn't ask, your opinion isn't needed.
For example, very often straight, cis men feel the need to comment on women's bodies. That's what I'd call an unsolicited opinion. She didn't ask. She wasn't bothering you; however, you made an unnecessary comment anyway.
Another example is how people act in public. For example, if someone has loud children in a restaurant I see no problem with kindly asking the parents to keep it down so you can concentrate on your meal and conversation. That one counts as honesty. Did they ask? No, but you probably were not the only person bothered by that.
However, say you are in the same restaurant and two people nearby are discussing their favorite show and you see it as your duty to tell them that the show they both like is stupid. That's rude. Nobody needed to hear that. They were just trying to be happy. Don't insert yourself into things that don't concern you.
My point in saying all of this is that some people can't tell the difference.
It's usually people who like talking and the sound of their own voice that think every opinion they have needs to be stated and shared. Trust me, it doesn't.
If you happen to be one of the people who finds yourself always telling other people what you think but never being provoked to do so, maybe stop yourself next time. There's a reason you have two ears and only one mouth. Use those ears and that brain to resist the urge to speak, and push yourself to listen more.
Often people who do this like to describe themselves as being honest but as I've shown you, there's a difference.
So no, you aren't being honest, you just felt the need to ruin something or someone else, and that's not cute or noble in any way. You're just cruel.
Also like I said, it's usually people who talk a lot because they're used to telling everyone everything. Usually quieter people are used to thinking before they talk. You, with the worldview that your thoughts are extremely important, could learn something.
Here is something I learned once that is a good tool for you to use to decide whether what you're about to say is necessary: Does this need to be said? Does this need to be said by me? Does this need to be said now? If the answer to any of those questions is no, then close your mouth.
It really is that simple. It costs zero dollars to keep your rude thoughts to yourself. Stop trying to mask them as "honesty." They're just plain rude unsolicited opinions.