This is a side-effect of how top-level AccessibilityEvents aggregate their text. This is probably something that needs to be fixed within TalkBack, but you could address it the hard way in your app by extending TextView or setting an AccessibilityDelegate on the view.
Basically, you want to make onPopulateAccessibilityEvent() populate the event with the content description, rather than the text.
Let's assume you extend TextView:
public void onPopulateAccessibilityEvent(AccessibilityEvent event) {
// The super method would normally add the text, but we want to
// add the content description instead. No need to call super.
event.getText().add(getContentDescription());
}
Keep in mind that in most situations you want the content description and visual appearance of a text view to match, and that overriding the default behavior may lead to unexpected results. The general recommendation is to not set content descriptions on text views.