Problem with collision when using touch

If I’m understanding correctly, you’re using different methods to move the ball, keyboard uses AddForce and works, touch sets the transform position of the ball directly and doesn’t work.
Could you try reading the touch position and applying it like a keypress instead, so you use the working AddForce method for all devices?
I don’t think you should set the position directly if you’re wanting to use physics .
I’m not sure it’s so good to be moving the ball from Update() either, the amount you move will vary depending on the FPS (unless you scale by Time.deltaTime, but I think, still don’t do that:)).