Notice that the count of vertices, normals, colors and texture coordinates in the related WebGL buffers always have to match. It can’t be different. So the only way to solve your issue is to duplicate the corner vertices and then define different texture coordinates.
It can be indexed but you have to duplicate the corner vertices. Depending on the geometry, it makes more sense to use a non-indexed geometry. Especially if not vertex data are shared anyway.