The problem is that a new paragraph is not started after the proof
environment. tex4ebook
then adds paragraphs for every piece of text it finds, because you cannot have text outside paragraphs or other block-level elements in HTML. This configuration should fix it:
\Preamble{xhtml}
\ConfigureEnv{proof}{}{\par\ShowPar}{}{}
\begin{document}
\EndPreamble
It forces new paragraph after proof
. I've added this also to TeX4ht sources, so the fix should be available in TL soon.
This is the result:

<h3 class='sectionHead' id='test-c'><span class='titlemark'>1. </span> <a id='x1-10001'></a>Test C</h3>
<!-- l. 8 --><p class='noindent'><span class='subsectionHead' id='test-ca'><span class='titlemark'>1.1. </span> <a id='x1-20001.1'></a><span class='cmbx-10'>Test Ca.</span></span>
</p>
<div class='proof'>
<!-- l. 10 --><p class='indent'> <span class='head'>
<span class='cmti-10'>Proof.</span> </span><span class='qed'><span class='msam-10'>□</span></span>
</p>
</div>
<!-- l. 12 --><p class='indent'> Let <span class='cmmi-10'>x </span><span class='cmsy-10'>∈ </span><span class='msbm-10'>ℝ </span>be a real number, then we have <span class='cmmi-10'>x</span><sup><span class='cmr-7'>2</span></sup> <span class='cmsy-10'>≥ </span>0.
</p>