Deproject is a pretty poorly implemented function. Use the cousin-function “convert screen location to world space”.
Also, FYI, consider swapping the line trace for a sphere/capsule trace with a narrow diameter. If the problem is that a single point doesn’t register the trace, then the sweeping of geometry across that point will automatically catch another nearby point when a slightly wider part of the sphere collides instead.