vector * matrix != matrix * vector
Inverting the position from (i* normalMatrix)
to normalMatrix * i
fixed the problem
for(auto i: root.getMesh().getNormals()){
cout << i.length() << endl;
ofVec3f normalVector = (normalMatrix * i);
finalMesh.addNormal(normalVector);
}