They are slow because HTML rendering engines are slow, they are slow because Javascript engines aren't that fast compared to Java, C or Swift. Native frameworks don't need to deal with the complexity of an HTML layout and CSS. And native applications can be optimized to use way less memory than web apps. There is very little room for performance tuning in a web app, since it depends on the browser engine. Something good for a browser can degrade performances in another browser.
> <Button android:id="@+id/button">
Isn't dynamic, it is inflated once and turned in a class instance.
> <button>
Is highly dynamic as it can be replaced by anything at any time in an HTML page.