As for flat shading, one part of me thought that it would help reduce the geometry and therefore improve performance,
Well, with flat shading you do not need to split sharp edges (i.e. create duplicates of edges shared by multiple faces, which is what the Edge Split Modifier does in Blender) because all edges are interpreted as sharp. But the number of faces is the same and those additional edges won't have such an impact on performance if any at all.