Hello everyone,
I recently had an issue that necessitate to convert between the WGS84’s ellispoid-based altitudes (used by Cesium as reference) and EGM96 (used by Google Earth and, by extension, KML files). As far as I could find on Google other people in the Cesium community also had the same problem but no satisfying solution existed (aside from an old unmaintained lib working only in node.js).
So I worked on it and released a library on npm: https://www.npmjs.com/package/egm96-universal
If it can be of any help to someone…