Image B depicts a ball, or a barrel, going over a slope; it launches because its y velocity is negative, a product of sliding its forward momentum against a diagonal slope (i.e. (10, 0) might become (7, -3) after sliding); with nothing but gravity to push it back to the earth, once the slope ends, it'll continue to progress upwards until gravity can make y positive again, hence you launch. Image A, however, depicts a train, or a minecart, hooked on a rail; it cannot leave that rail unless it reaches its end, because its velocity is always sliding along the surface normal whether or not the train or cart has become temporarily launched into the air.
The rail is a raycast fired down from your character into the earth which detects the normal you either are or were traveling along; if your character is not detecting collisions, and its y-velocity is negative but your rail is recognizing ground, that means your character has been launched; in this case you just need to slide your character's velocity along the normal detected by your rail and you should travel along that slope's angle despite not colliding with it. Gravity should handle the rest of the problem.