The reason for this is two-fold:
For cylinder triggers under DIAG builds, and sphere triggers under DIAG and DEVELOPER builds:
The pos argument passed to Trigger::DrawDebugShape is the bottom of the cylinder/sphere, not the center as expected by Debug::DrawCylinder and Debug::DrawSphere (bottom Y + half height).
The fix is to set pos[1] = pos[1] + (max[1] - min[1]) * 0.5 before passing to the draw functions.
In addition, it looks like the override CylinderTrigger::DrawDebugShape for DEVELOPER builds could be removed entirely, since Trigger::DrawDebugShape should take care of it anyway.