Entities and block entities are essentially uploaded and rendered to the vertex buffer every frame and, as such, needs to be constructed over and over again. They cannot be batched and cached into a single call like baked models are. That's why, unless there is particularly complex logic or there are animations, it's recommended to use baked models and custom model loaders.
Technically, there are ways to fix this by doing proper OpenGL handling manually such that the models are uploaded once and then transformed and placed within shaders, but that is out of scope and goes against Minecraft's rendering system, so that would not be supported here.