こうすればできんじゃね?とは思うけど検証してない

ベースになるコントローラーのメソッド
private setLayout(string $name)
{
Illuminate\Support\Facades\View::share('layout', $name);
}

blade
@if(!empty($layout))
@extends($layout)
@else
@extends('default.layouts.app')
@endif