I think I have one good reason for disabling native zoom (and I’m annoyed that I can’t disable it in this specific case). That is where your web app is designed around the ability to zoom in the first place, and implements it separately. The app I’m building uses an html canvas, the point being that the user should be able to zoom in or out to an (essentially) infinite level on any area of that canvas.

The problem is that having the browser window doing a native zoom as well as the app itself implementing a zoom function makes navigation highly confusing.