I exported my original artwork with CMYK 300 dpi as a 120x120_125x125 JPG file at 100 quality. When I use sips to crop this file at the calculated 1417 pixels, and at the original DPI, the output image is correctly cropped at 1417 pixels, and it retains the desired 120 mm. If I change the original DPI down to 72.0 DPI, then the crop remains pixel accurate, but the image is now 500 mm.
If I start with the same image, but as a TIFF, and use the image DPI, then the crop is accurate, but the resulting JPG is now 500 mm.
So, accuracy suggests that you use JPG (or PNG) not TIFF as drop files on this Automator solution, and leave them at the original image DPI. Of course, this begs the question — overwrite the original JPG in place with the cropped result, or append a 'c' to the output file to visually tell you that it has been cropped (e.g 120x120_125x125c.jpg)?
Once I have the answer to that question, I can post the updated script for use in the Run Shell Script action.