Mmm…this is quite strange. I had a scan through the component hierarchy and also can’t find any function that lets you get what the component is based on. In Character you do have “GetMovementBase()” which will return the primitive component, but I doubt that’s enough to help you out.
You can also try using a trace to check what’s directly underneath a component.
In any case, if there really aren’t ways of getting this easily, I’d suggest logging a feature request as I’m sure this is a fairly general thing that many users would like.