Since Ballista damage (call it D*) is
D* = floor(D(1-D/4000))
GEO should have taken 500 from 1000 needles, but it took 437.
500(1-500/4000) = 437.5 --> 437 as expected.
The Luopan took 320 damage, so we have to work backwards.
D(1-D/4000) = 320 has a solution at 350, so the Luopan took about 350 damage pre-Ballista adjustment, which corresponds to ~-30% damage reduction.
Here the GEO took 549 damage, so it should have taken around 696 damage, which is pretty much what we'd expect from the frost breath formula (HP/3 + level/0.625 ---> 697 damage).
The Luopan took approximately 429, implying 488 damage pre-reduction.
(697-488)/697 ~ 30% reduction, so it did not see any unique reduction from the breath spell.