One device is inaccurate, but it's not a valid assumption to say it's the Purion.
You were doing lots of hills, as I understand it Garmins largely measure 'on the flat' which can affect the speed and mileage recorded.
The Purion is measuring wheel revolutions, so is relying on having the correct tyre circumference.
That can be changed in the menu settings of my Intuvia, probably the same for your Purion.
You could try accurately measuring the circumference of the tyre, and use that value.
You were doing lots of hills, as I understand it Garmins largely measure 'on the flat' which can affect the speed and mileage recorded.
The Purion is measuring wheel revolutions, so is relying on having the correct tyre circumference.
That can be changed in the menu settings of my Intuvia, probably the same for your Purion.
You could try accurately measuring the circumference of the tyre, and use that value.