Hi Davide,
I think generating the spoken text is an interesting approach! The
results there seem much better than the reading out of the words within
the <pre>.
I wonder though if your approach of making the existing math subtree
aria-hidden="true" and inserting the equivalent spoken text in a <div>
positioned off the page would get in the way of ATs that do know how to
understand MathML and present it to the user. I can't think of a good
way around that -- feature testing for the abilities of the AT is
impossible I guess.
(I'd love to know what the accessibility community thinks is the state
of the art for presenting math in web pages accessibly, by the way.)