How to convert model levels to altitudes

Dear community,

If I select to download multi-level variables from CAMS reanalysis datasets (e.g. the variables Ozone and Temperature from the CAMS global reanalysis (EAC4)) and select all "model levels" (from 1 to 60), I get a dataset that tabulates the ozone specific ratio and temperature against these model levels. I would like this data to be tabulated against altitude (height above the Earth's surface) instead of model levels. How could I convert these model levels into altitude values? I did not find any mention of this topic in the CAMS reanalysis data documentation, nor in IFS documentation Part III- chapter 2.

Up until now, I have been using the L60 model level definitions table in order to do that, using the columns labeled "n" and "Geometric Altitude [m]" of that table to create a relationship between model levels and altitudes. However, I recently realized that that works only by assuming (as it is assumed in the U.S. Standard Atmosphere 1976) that the Earth surface coincides with the mean sea level. This is also clearly visible on the L60 model level illustration, that I attached here under.

On this illustration, high model level numbers (level 60 corresponds to the Earth's surface) follow the Earth surface topology (e.g. bend around a mountain). Altitude levels, on the other hand, are horizontal lines on this illustration. Thus, close to the surface, the topology will disrupt the altitude - model levels relationship as it exists in the L60 model level table. As a result, my converted altitude data is wrong, specifically over high altitude (with respect to sea level) regions.

Do I understand this correctly?

Any help would be greatly appreciated!