Can you read the G code and find out if the program as written is dong this or not. I assume this is your Z axis, and you should be able to decipher where it is told to move down to. Then you know where to start looking.
If it is not your program, then it must either be that your start position ( i.e. the starting height of your tool is incorrectly set or not zeroed, whatever, to match your program start position) or as you say, it is the tool offsets.
The tool offsets you can cancel and try again without them and see if there is any difference. Most of my difficulties have been - either the workpiece is not where the machine thinks it is, or my machine was not zeroed in before the start.