The type of the surface of the runways was the most inconvenient one to find out.
The surfaces are not stocked in 2 bytes, like in old FSX, but in 16 bytes.
The range of the sequence has an offset of 0x4c - 0x5b in the fixed part of the “Runway”-subrecord, which now has a length of 0x60 (FSX = 0x34).
The sequences for the different types of surfaces were practically always the same for the 502 default airports(*1), I looked into :
private readonly ushort[] Surface_ASPHALT = { 59455, 11789, 47002, 17461, 23696, 48092, 50666, 22876 };
private readonly ushort[] Surface_Cement = { 14094, 8084, 57543, 18771, 41651, 17630, 15665, 28896 };
private readonly ushort[] Surface_BITUMINOUS = { 23329, 34821, 49144, 18417, 25277, 44209, 40715, 51673 };
private readonly ushort[] Surface_GRASS = { 6491, 3602, 19024, 17105, 51384, 31511, 3879, 43834 };
private readonly ushort[] Surface_DIRT = { 58763, 29424, 5524, 17657, 5029, 19817, 2915, 23939 };
*1 : There were 2 exceptions : 1 runway of KJFK and the runway of LPMA (Madeira).