'App\Models\Admin\Category' - так вы потеряете данные при рефакторингах, лучше использовать \App\Models\Admin\Category::class или в вашем случае self::class
Зачем вам статический метод, если вы его дергаете из себя, то логично делать $this->makeTree()
Если у вас дерево ограниченной вложенности (обычно меньше 2-3 уровня), то достаточно воспользоваться дот нотацией в with
$categories->with('children', 'children.children', 'children.children.children');