The ‘no optimize’ thing is long gone. It transitioned into flat shading prior to version 6. In blender 2.80, basically the normal type (smooth, flat, or custom) in use by Blender is the same one the exporter uses.
The exporter processes FACES by material in the order they are provided by the “quad / NGON converter” thing. Vertices of different triangles which also match on normal, UV, UV2, vertex color, matrix weight & indices are shared. This means in order to get vertex groups to come out right, a map needs to be built as these other types are being processed in the first pass.
This is already being done, since a shape key has the same mapping issue as a vertex group. I say again, look at what @ozRocker did. He solved the problem correctly, except that he did not make it optional.
Use his version 5.6 mesh.py file in replacement. You are using Blender 2.7x, so this should be fine as long as you use the very last version of the exporter before 6.0. If you make a PR for the change to the loader & Mesh.ts, I’ll bring the changes into the current code base & add the UI to make it optional, someday.