* operator for vector-matrix multiplication

I've been having issues with transformations using the * operator between a mat4 and a vec4. I have isolated all matrix transformations in a 'mul' function and discovered that these two implementations give different results (as seen from the result of the transformations on the scene):

It was my understanding that OpenGL should consider the vector as a column vector in the first case and as a row vector in the second case. Because of this, I was expecting those two functions to be equivalent (apart for the row/column-ness of the resulting vector, but that should be ignored...?). I even confirmed this using Maple and didn't see anything to indicate that the * operator behaves differently in the GLSL spec.

This is in a #version 140 shader using the latest drivers for my nvidia card.