Found some code that may be useful for finding actual normal to surface
https://github.com/CYBUTEK/KerbalEngineer/blob/master/KerbalEngineer/Flight/Readouts/Surface/Slope.cs
not very easy, though. Also experimented with Vessel.terrainNormal , it gives something strange. Always shows (0,0,1), but sometimes changes to (1,0,1) when vehicle starts or stops climbing a slope.