I found my problem
I was applying *numComponents twice, once in the stride and once in the scalarIndex
this
const yStride = dimensions[0] * numComponents;
const zStride = dimensions[0] * dimensions[1] * numComponents;
should be
const yStride = dimensions[0];
const zStride = dimensions[0] * dimensions[1];
``