Return payload in service layer
In my actions (Controllers) I handle only data that comes from the request.

If above is the case you might be better off handling validation before calling service class. In other words, prepare data into a format that business service classes can understand. Same applies about a decision on which HTTP Code to return.
I am not sure why you have single responsibility controllers, a number of files would bloat very quickly in a larger application.
Controller:
class CreateUserAction extends Action
{ 
    public function handle(UserCreateRequest $request): JsonResponse
    {
        return (new UserService)-&gt;create($request-&gt;validated(), $user);

        // OR
        $user = (new UserService)-&gt;create($request-&gt;validated(), $user);

        return response($user, Response::HTTP_CREATED);
    }
}

I am not sure why you are using repository unless you are doing complex DB operation. Service should have all the business logic. This way service layer/business logic can be easier extracted and reused in other applications thanks to less dependencies.
use App/Models/User;

class UserService extends BaseService
{ 
    public function create(array $data): User
    { 
        return (new userRepository)-&gt;create($data); 

    }
}