I think that sound/vibration travels much faster in stiffer objects, I suspect that in Arduino time the pulse would arrive at all four corners at the same time - if you were using interrupts to catch it, the internal interrupt priority of the IC and the time it would take to service each one would certainly have a bigger effect than the time the pulse takes to reach all four corners.
The force reading on each sensor is needed, not the time of arrival of a pulse.
I'm thinking on measuring the analog output of each piezo, and compare. The problem is the math, as we don't have constants, since you could do a soft or hard hit...
That's right. The skeptics should consider this: If you put a bathroom scale at each corner of a large, rigid plate and then stood on top of the plate, you could easily calculate where you were standing by looking at the reading on each scale. The math is not hard, in fact I already gave it to you:
x position = W * R / (R + L)
y position = H * B / (T + B)
This can be simplified even more because R + L = T + B = sum of all 4 readings. So now it's:
x position = W * R / S
y position = H * B / S
W is a scaling factor proportional to the width of glass,
H is a scaling factor proportional to the height of the glass,
R is combined readings of 2 sensors on the right,
B is combined readings of 2 sensors at the bottom,
S is the sum of all 4 sensor readings.
Since you are dividing by the sum of the sensor readings, the equation will have the same output whether you push softly or firmly on the glass. Just adjust W and H for the size and shape of the glass plate. Simple.