Hi,
In function CategoryRepository#findChildCategoriesNamesAndIds, to find nested categories the SQL query include that condition :
AND c.id_parent > '.(int)$category->id.'
Which is wrong, because a subcategory dosn't significate the category ID is greater.
I strongly suggest you use the native function :
Category::getNestedCategories
This will returns the right ones.