I would suggest to do the operations in the following order:
2. rotate (all rotations here)
As the scaling operation will un-normalize the rotation part of your 4x4 matrix and might theoretically have some impact on the following rotation,
so it is safer to first rotate and then scale.
For example you could try something like this (and see if that actually rotates your model 90 degrees around Z for instance):
SampleUtils::translatePoseMatrix(0.0f, 0.0f, kObjectScale, &modelViewMatrix.data);
SampleUtils::rotatePoseMatrix(90.0f, 0.0f, 0.0f, 1.0f, &modelViewMatrix.data);
SampleUtils::scalePoseMatrix(kObjectScale, kObjectScale, kObjectScale, &modelViewMatrix.data);
SampleUtils::multiplyMatrix(&projectionMatrix.data, &modelViewMatrix.data, &modelViewProjection.data);
If that works, then you could add the other two rotations (one rotation at a time, checking every time by running the app), so to see whether or not the problem shows up when applying more than one rotation.