Понял что простых решений нет, есть одни костыли:
1 Метод, использовать несколько параметров:
в роуте:
Route::get('/page', [PageController::class, 'index'])->name('page')->middleware('role:admin,manager');
в middleware:
...
public function handle($request, Closure $next, $role1, $role2)
{
//Используем уже здесь $role1, $role2
...
2 Метод, использовать один параметр с разделителем:
в роуте:
Route::get('/page', [PageController::class, 'index'])->name('page')->middleware('role:admin|manager');
в middleware:
...
public function handle($request, Closure $next, $role)
{
if (!is_array($role)) {
$roles = explode('|', $role);
}
...
Костыли, не костыли, но решение работает.
Если вдруг вундэркинды найдут более элегантное/правильное решение, пишите!