I tried your solution.
I added the lines in HTML2WordML.inc and I made an HTML like this that's repeated to test the behavior :
<p style="page-break-inside: avoid;">
Some text
<ol>
<li style="page-break-inside:avoid;">Item 1</li>
<li style="page-break-inside:avoid;">Item 2</li>
</ol>
</p>
I still have some page-breaks between li elements or between text and ol element.