Does Pix4d use or require the altitude that is embedded in the jpg images? That data is never correct from our experiences with and Inspire 1 and Phantom 4. If the altitude is incorrect then how can we believe calculations of volume or elevation grids generated from that data? We have even tried adding GCPs and they are plotting below the surface. I noticed in a DJI forum that multiple users have similar altitude problems.
The altitude which is embedded in the JPG images is indeed wrong in some cases. The error can reach up to hundreds of meters sometimes.
If the geotags (embedded position of the images in the JPG file) are wrong, that does not mean that the result is wrong, the absolute accuracy will not be correct but the relative accuracy will still be good (considering the accuracy of the geotags). If the accuracy of the geotags is several meters (as it is usually the case unless you are using an RTK/PPK drone), your relative accuracy will also be several meters.
Anyway, Pix4D does not need geotags, it can process the whole project without them but if that is the case, the result will not have any scale or absolute position.
If you want to get cm accuracy, you need either use GCPs or an RTK/PPK drone.
When marking the GCPs, if the altitude is totally wrong, the GCPs are not even in the rayCloud and they cannot be marked. When that happens you should either correct the altitudes manually before starting the project or use the basic editor.
This article explains in more detail what I am saying.