This was one of my hot button issues... .
1. I'm accused of a thought or behavior.
2. I deny I would ever think / do something so outrageous
3. uBPDw screams "you always invalidate me" and/or "you're in denial", etc
4. Eventually I give in, and that means lying about my true feelings / self.
I tried "honesty" aka step 2, denying what I wasn't doing. Like you, I didn't get satisfactory results
I was raised with a very strong value of honesty, so I never gave in the way you did in step 4... .but I'm pretty sure that you aren't liking those results either.
What worked best for me was saying this:
"I will not participate in a discussion when you are telling me what I think or feel."
(and whatever I had to do to back up enforcing that boundary)
I also expanded upon it with this explanation once or twice... .but as is usually the case, enforcing the boundary (not discussing, not engaging) is far more productive than giving the reason why.
You cannot literally read my mind. You do not know what I'm actually thinking or feeling. If I was thinking what you say I was thinking, you don't really know. Further, if I stop thinking that way, you won't know that I've stopped. If I'm accused of thinking something bad about you, there is absolutely nothing either you or I can do to prove myself either innocent or guilty of this.
I think I've also added that if you want to ASK what I'm thinking or feeling, I could share that. But if I'm being TOLD what I'm thinking or feeling, the conversation is over.