Oi Guilherme, tudo bom?
Muito bem observado! Os frameworks MVC muitas vezes implementam muitos dos patterns mais comuns mesmo =)
Porém, não acredito que podemos dizer com certeza que essa implementação das middlewares no laravel refletem exatamente esse pattern porque padrões de projeto dependem também da motivação e precisaríamos estudar a implementação como um todo, olhar apenas o método handle() não é suficiente pra dar uma posição acertiva.
Aparentemente, as middlewares do laravel trabalham só com uma closure (função anônimas que passamos por parâmetro) que é executada passando o request como parâmetro.
Aqui, não podemos deduzir se isso realmente é uma cadeia de responsabilidades. Ou seja, se a sequencia em que as coisas são executadas tem alguma importância nesse processo e se é recursivo mesmo.
Acho que uma boa abordagem é ir mais a fundo na implementação do fluxo de vida da requisição, assim a gente conseguiria entender realmente em que momento da aplicação esse Handle está sendo executado e se ele realmente faz parte de alguma cadeia de responsabilidades =)
Se o pattern implementado não for o Chain, com certeza será algum outro ;)
Abraço!