Determine if an object passes a point along a vector

I’m trying to make projectiles travel a percentage of their destinations, randomly.

How would I determine if I pass the point in any orientation?

I know I can get the point from using Vector3.Lerp and pass in a percentage which returns the vector I want to terminate at.

What I don’t know is how would I determine if I reach the point? I want to disable the projectile before its collides with the target for some projectiles.

bool passed = Vector3.Dot( (end-start).normalized , (p-end).normalized ) > 0;