Achei boa a forma de separar a escolha pelo fluxo de dados, e não só pela tecnologia mais “moderna”.
Um ponto que costuma aparecer tarde em produção é a recuperação depois de queda ou reconexão. Em SSE e WebSocket, o transporte pode estar certo, mas o produto ainda precisa responder perguntas meio chatas: o cliente perdeu algum evento? pode receber evento duplicado? precisa refazer o estado inteiro ou só continuar de um cursor?
Para dashboard e status de job, às vezes last-event-id, sequência incremental ou um endpoint de backfill simples evitam bastante dor de cabeça.
Você pretende cobrir esse lado de reconexão/ordenação no sample também?