You shouldn't be using the OnMouseDown and OnMouseUp callback functions for this because that would require that you get the touch position with Input.mousePosition on the desktops and Input.touches on mobile devices.
This should be done with the OnPointerDown and OnPointerUp functions which gives you PointerEventData as parameter. You can access the pointer position there with PointerEventData.position. It will work on both mobile and desktop devices without having to write different code for each platform. Note that you must implement the IPointerDownHandler and IPointerUpHandler interfaces in order for these functions to be called.
public void OnPointerDown(PointerEventData eventData)
{
Debug.Log("Mouse Down: " + eventData.position);
}
public void OnPointerUp(PointerEventData eventData)
{
Debug.Log("Mouse Up: " + eventData.position);
}
If you run into issues with it, you can always visit the troubleshooting section on this post to see why.