I usually do circular routes too, but both my Wahoo Roam and Strava more often than not tell me there is a difference between metres climbed and metres descended. I think the worst I've seen was one time when it had me 70 feet different.
70', so 20m.: That's pretty good, surely? What's that; 2% or thereabouts error over a hundred kilometres, assuming 1,000m ascent? Given how gps works and the inherent reduction in accuracy in the vertical plane, that's quite impressive and certainly acceptable, isn't it?
I've just checked a few rides and my Wahoo Roam has a similar maximum difference (a few tens of metres over a hundred kilometres), but in fact it's mostly within 20m. That said, the device I actually use for recording is a Suunto watch with a barometric altimeter and I rarely see differences beyond single digits on that. For example: 3,300m last Wednesday with a difference of 7m in ascent and descent. Essentially, barometers are better than gps for altitude :-)