You are computing the correlation. The 2D convolution is a 180 degree rotation (flip both axes) of the kernel.
h = rot90(h,2);
You won't notice the difference with a symmetric filter, like a Gaussian or an averaging kernel, but a derivative will be reversed in both directions.