I think you should avoid anything that requires changes on a per-question-type basis if at all possible.
Or, at least, not require anything new to be done on a per question-type basis. There is already code in some question types to support the Mobile app. Is any of that reusable? (I must admit woeful ingnorance of how Quiz in Mobile app works. I really ought to make the time to learn.)
It is possible to write JavaScript using approaches like delegated event handlers, which when done well means that the same JavaScript will work even if the HTML content changes. (It is also good practice for other reasons.) If we have to make changes to the JavaScript of individual question types, would it be possible to actually make changes like that - which are generally good, not specifically for your application. Doing that would be uncontroversial, I think. (A lot of qtypes have old JavaScript that certainly does not follow best practices. Or, at least, today's best practices.)
Have you made a list of all the question types (that you are interested in), and how badly broken they are without changes? It would be interesting to see that.