Best way to think of it is: relative vs absolution coordinates. Where the relative coordinate is relative from the upper left corner of the client area of a window. The client area of a window is a window minus its border. Relative coordinates are useful because they don't change when the user moves a window.
Most coordinates in WF are relative coordinates, MouseEventArgs.Location for example. Some are absolute, Mouse.Position for example. If you pass a relative coordinate to PointToClient you'll get garbage, as you saw in your debug session. It must be an absolute coordinate.
Some coordinate properties can seemingly be both, Control.Location for example. On a child control it represents the control's location relative from its container. A form's Location is absolute. That seeming contradiction disappears when you think a Control.Location as relative from a control's Parent. The Parent of a form is the desktop.
A common usage is to map a coordinate relative to one control to another control. First map to absolute screen coordinates with control1.PointToScreen(), then map the result to the other control with control2.PointToClient(). The Point value changes by the offset between the controls, regardless of who their parents are. Doing it any other way is very painful.
Keep out of trouble by only ever passing an absolute coordinate to PointToClient and a relative coordinate to PointToScreen.