О, пару недель назад решал такую-же проблему, смотрел то же самое (+ еще 3-4 других варианта). В итоге — решение почти такое-же, но генерирую openapi в итоге.
Для ui использую rapidoc. Довольно хорошо кастомизируется, позволяет делать тестовые запросы. Есть пара багов, но не критичных.
Автоматическая документация по коду для API в Laravel