「勘違いする」は英語では misunderstand か to make a mistake になりますが、投稿者さんの場合より、misunderstand は自分の考えが間違っている時に使います。To make a mistake は「間違える」と言う意味です。
彼、私ことをB子と勘違いしてる→ He mistook me for B子. になります。誰かが誰かに違う人に間違えた場合には to mistake A for B になります。
例えば
I'm sorry, I mistook you for someone else.
ごめんなさい、違う人と間違えた。
I mistook Yuma for Toma.
ゆうまくんととまくんと間違えた。
彼、私ことをB子と勘違いしてるはず→ I think he mistook me for B子.
ご参考までに。
misunderstand :勘違いする
He misunderstands 彼は勘違いしている
He misunderstands A as B 彼はAをBとして勘違いしている
はずと入れるときは I guess と入れると良いでしょう。
これを入れないとはずではなく確定になります。
I guess, he misunderstands the girl as a boy.( 彼、この子を男の子と勘違いしているはず)
I guess he misunderstands me as B. (彼、私ことをB子と勘違いしてるはず)
You misunderstand that I can speak English but I cannot.
(あなた、私が英語ペラペラだと勘違いしてるでしょ!本当は全然しゃべれないんだから!)