Problem seems to be due to the texture that I think is "shared" between android framework which uses SurfaceTexture to write video frames into it and webkit which must then use the texture to apply whatever CSS layout it needs to the video element.
github aosp mirror src: https://github.com/android/platform_frameworks_base/commits/master/core/java/android/webkit/HTML5VideoInline.java
Stagefright playback works fine in software-decode mode, so only needed to set the system properties:
Media.HTML5.WindowPlayEnable=true
media.amsuperplayer.enable=false
media.amplayer.enable=false