No necesitas provideZonelessChangeDetection() para activar el comportamiento por defecto de Angular 22. Neural UI 2 funciona en ese modelo. En una aplicación migrada, revisa provideZoneChangeDetection y la configuración de Zone.js antes de asumir ese valor por defecto. El provider zoneless explícito sigue disponible cuando quieras esa configuración deliberadamente.
Pulsa Calcular total. loading cambia al momento; después el cálculo diferido muestra 80 y limpia loading. El temporizador simula expresamente trabajo en segundo plano sobre datos fijos; no es una función vacía de persistencia.
El callback asíncrono actualiza signals que lee el template. Angular observa esos cambios sin depender de otro evento posterior.
Mutar un objeto normal no notifica por sí solo a un template basado en signals. Guarda los datos en un signal y utiliza set o update sobre el valor que lee la vista. No añadas soluciones de refresco manual antes de revisar esa notificación.
Prueba la interacción real con disabled/loading y, cuando proceda, después de hidratar.