No, this isn’t correct. There are two meanings of “instancing” that are common in 3D content. The first is simply reusing meshes/materials/textures without duplicating them in the file — this is explicitly supported for any resource in a glTF file. The second is GPU instancing, a specific technique for drawing the same mesh, with the same material, many times in a scene. glTF does not mandate rendering techniques like instancing, but they’re common and may be used by engines regardless of the import format. Reusing mesh and material resources (case #1) is the a prerequisite to GPU instancing (case #2), but ultimately GPU instancing is up to the engine, not the format — engines like Unity do this automatically. Other engines may not support it at all.
In a workflow from Blender, you can use Linked Duplicates to ensure your meshes aren’t duplicated. Or use something like glTF-Transform to deduplicate binary accessors and textures after exporting, if your 3D modeling tool creates duplicates.
There is also a community extension,
EXT_mesh_gpu_instancing, for explicitly indicating GPU instancing groups in a file. That’s newer, and only supported in a couple engines, but the
gltfpack tool can add it to existing glTF files for you. See https://github.com/KhronosGroup/glTF/pull/1821 for some context on that.