Is there a way to setting up normals just for faces (and not for vertices) without doing an interleaved array?
No. Well, “interleaving” isn’t necessary, but they both still must be arrays. If you want the effect of a face having a normal, then every vertex on that face must have the same normal. That will require adding a lot of extra positions to your arrays.