Hi Nasser,
If I remove the split 2, then no error shows. i.e.
>
> make4ht -ulm default -a debug index.tex 'mathjax,htm'
I suspect that it is because \tableofcontents creates a separate HTML file,
as it starts a new section, so the starting and ending tags for multicols
are inserted in other files. You can try to use \PauseCutAt
\tableofcontents \EndPauseCutAt. Something like this:
\Preamble{xhtml}
\ConfigureEnv{multicols}{\PauseCutAt{likesection}}{\ContCutAt{likesection}}{}{}
\begin{document}
\EndPreamble
Note that TeX4ht creates extra TOC anyway when you split sections, so TOC
produced by \tableofcontents is redundant anyway.
Best regards,
Michal