あー、echoやprintfが出力時に良きに計らっちゃってるというか、その実装なりに出力して同じように見えちゃってるだけってことですかね
"A\\\\nB"だと確かに等しいですね

_STR="A\nB"
printf "_STR count=${#_STR}\n"

これも4になるので、改行になってないってことですかね。

_STR="A
B"

こうだと3になりました。
改行を含めたい場合の書き方として本当にこれで良いの…?という気もしますが
なんにしろ等しくない理由はなんとなく分かりました。ありがとうございます。