FeaturePoints don't really have orientations by themselves I believe; they're just points
When you're doing a raycast such as this one, and you pass in something like this for the types:
[.existingPlaneUsingGeometry, .estimatedVerticalPlane, .estimatedHorizontalPlane]
Then check if your result is a vertical or horizontal plane. Or if it's an existingPlane type then check its Anchor is an ARPlaneAnchor; if it is then check its alignment property.
I use something very similar to the video you sent for this open project, which is mostly derived from Apple's samples:
https://github.com/maxxfrazer/ARKit-FocusNode