A bad ABS sensor can cause the ABS to activate a wheel causing it to activate at very low speeds and brake pressure, but not cause it to pull. You can always pull the ABS fuse to deactivate the ABS to confirm that the ABS is not causing a problem.
It would be a bad caliper or a bad caliper hose. Sometimes a very loose suspension bushing can cause a wheel to go out of alignment under the force of braking, causing a pull.
Jack the front end up and support safely.
Spin both front wheels, they should have some drag but not be very tough to spin. Both should be about the same drag.
Now start it up and stand on the brakes for several seconds.
Jump out and recheck the wheels for drag. They should be the same. If one is noticeably more drag then the first check you should replace both calipers and hoses.
While the wheels are up grab the tires at 9 & 3 and twist back and forth feeling for looseness.
Grab at 12 and 6 and do the same. Worn parts here would have to be very very bad to feel it now. The lower control arm needs to be lifted to about ride height and the test repeated to get a better idea of worn parts.
If the caliper drag and suspension check out OK, then both caliper hoses should be replaced. Over time the lining inside flex hoses can tear and then the flap becomes a restriction only allowing brake fluid to move slowly. So if one hose flows well and the other has a restriction, if you brake gently both hoses could flow enough to balance the braking left and right, but if you brake hard and quick the fluid moves slower though one hose than the other and the brakes apply quicker on one wheel than the other.
I was planning on procrastinating today but I think I'll do that tomorrow.