After a bit of digging, Mugen87 found the fix:
const loader = new GLTFLoader();
loader.load( 'models/example.glb',
function ( gltf ) {
gltf.scene.traverse( function ( child ) {
if ( child.isMesh ) {
child.castShadow = true;
child.receiveShadow = true;
child.geometry.computeVertexNormals(); // FIX
}
...
The Minecraft model exported from Education Edition doesn’t have precomputed vertex normals, so we get Three.js to calculate them for us.
Alternative solutions for model exporting exist for Minecraft Java Edition, consider using Mineways in combination with MCPrep and Blender. Blender supports exporting .gltf files and MCPrep does a good job of sharpening model textures and changing blend modes. Note that the file size of the model when using Mineways + Blender instead of the Education Edition structure block is considerably smaller.
A GitHub issue related to this thread can be found here: