I am getting my ERA5 data from Copernicus. It works well for WRF. I download the pressure level data and the "single-level" (surface) data. I use a slightly modified ERA5 Vtable. When I run ungrib, the log file indicates that landsea and geopt are present (they're in the surface file).
However, the init file I create with MPAS init_atmosphere does not seem to be correct. Using convert_mpas, I see reasonable values for most 2D variables (e.g. T2m, SST, etc.). But surface_pressure is all zeros, and 3D variables (e.g. qv, theta) are nonsense. I vaguely recall that something special had to be done with surface pressure for WRF, but I can't remember exactly what.
Everything I can think of as possibly relevant is attached, with extensions changed to work around the forum file type restrictions.