If the component type one is searching for when using AActor::GetComponents(TArray<T*, AllocatorType>& OutComponents, bool bIncludeFromChildActors = false) const
is a parent class of UChildActorComponent, this function fails to properly recognize child actor components.
For instance:
TInlineComponentArray<USceneComponent*> array;
GetComponents(array,true);
Will not list any components on child actors, as UChildActorComponent derives from USceneComponent. The issue is, that a component of the actor is only checked for being a UChildActorComponent if it cannot be cast into the type of component one is looking for.
In UE 4.17.2 the relevant line is Actor.h:2740.