The situation is more interesting than whether the STL has reverse faces or not. The version from the web and from desktop both produce the same issue. The issue gets confusing if you import the STL into SketchUp, because SketchUp does its best to cope, and will show the faces as reversed, which they were not. Viewing the file in Finder, or most other STL tools, will show the problem.
Here is where the problem is:
facet normal 0 -1 -0
outer loop
vertex 10 -10 0
vertex 0 -10 10
vertex 10 -10 10
endloop
endfacet
There is a convention that says that the coordinates of a triangle are listed clockwise as seen from one side, and therefore counterclockwise from the other side. Before there were such things as ‘normals’, 3D programs relied on that to know which was the front or back face.
Normally (pardon the pun) the facet normal and the clockwise-ness of the three coordinates will agree with each other, but in the case where you have negatively scaled something in SketchUp, they don’t.
When they don’t agree, some programs fall back on trusting the order of the vertices, and ignore the normal value. Others trust the normal value. Apparently SolidWorks will use the order of the vertices and still use the normal value to control shading effects.
So, the thing for SketchUp to fix is that when scaling negatively, the order of the vertices should be corrected to match the normals values. In the meantime, exploding does seem to correct things, though you could export as ASCII STL, and manually correct the order of the vertices.