It should work if you use the proper Pen Thickness in the StrokeContains call:
Point point = ...
Pen pen = new Pen { Thickness = pathSegment.StrokeThickness };
bool contains = pathSegment.Data.StrokeContains(pen, point);
Alternatively you could simply do a hit test on the Path:
bool contains = pathSegment.InputHitTest(point) != null;