Yes, the summit is very often not on the place (and elevation) where the summit cross or even the survey point is (a quite spectacular and previously unpublished case is Vienna’s well-known Node: Hermannskogel (197896723) | OpenStreetMap). In this case, I tend to use the “Gelände” elevation on tree-/shrub-covered ground and the “Oberfläche” elevation on bare ground, as explained by PPete2. And if the horizontal distance between the summit cross and the true summit is far enough (e.g. > 30m), I tend to map a separate “man_made=cross” there and do not use “summit:cross=yes” on the peak, but this issue is not quite agreed upon.