I found out I need to fix the output view of the registered image to the reference image. I think otherwise it would be translated down, but plotted on new axis so it just ends up looking the same. Just needed to update the last line of code.
[optimizer, metric] = imregconfig('multimodal')
im2R = imregister(im2, im, 'rigid', optimizer, metric);
tform = imregtform(im2, im, 'rigid', optimizer, metric);
im2warp = imwarp(im2, tform, 'OutputView', imref2d(size(im)));
