I got this working. There were several things I was doing wrong.
First up, I’d managed to so mess up my webpack setup that the dev server wasn’t serving the latest version of the code. It took me ages to notice this. What seemed to finally fix it was changing the outDir in tsconfig. The BablylonJS npm docs page has this "outDir": "./", but for me this caused a typescript error Cannot write file index.d.ts ... because it would overwrite input file. Changing it to a random output dir "outDir": "appOutDir" fixed webpack not reloading.
My second mistake was that I’d forgotten to statically vend the glb files. @RaananW the solution in your repo helped here, thanks for that:
Seeing how easy it is to completely mess up webpack if you don’t know what you’re doing led me to try Parcel, seems to be working well. I added a second package parcel-plugin-static-files-copy to statically vend the glb file.