Well, you aren't actually rendering anything in the TESR. It's not linked to model for the blockstate that the tileentity inhabits.
In your block, override getRenderType(IBlockState) to return EnumBlockRenderType.INVISIBLE. This essentially tells Minecraft "hey, you don't have to worry about rendering this block, I'm going to handle it myself".
In your TESR, call Minecraft::renderModel and provide a cached IBakedModel that was manually gained from the JSON.
I get a BakedModel and cache it here, and render it here.(minus the bindTexture part).