Hey this is a "feature" in Unity. Let me try to explain whats going on.
Unity returns the actual position in mouse/touch units, origin at the bottom left of the screen much like the tk2dCamera.
There is a serious issue with using the values directly, as this is dependent on the number of pixels on screen and doesn't map to the viewport size parameter at all. For instance if you set the game viewport resolution to 960x640, and then make the game window really small - the values returned have no relation to that number. The number returned is in screen pixels, so if you resized your game window to 240x160, then the Input values will be in that unit.
Hope that makes sense.
You'll only get correct numbers when the viewport is the right size, or scale by Screen.width & height, and then use that normalized data to scale to the correct resolution. Or use raycasts, thats a whole lot easier.