BlueOcean displays unstable stages as stable until all stages are finished. After that it refreshes the status and they are changed from stable to unstable. The failed stages are displayed correctly right after the failure.
It confuses developers who think that everything is fine and suddenly half of the stages turn to unstable.
I checked it for dynamic stages (generated when the pipeline is executed) and static stages (standard declarative pipeline). There is no difference if dynamic stages have stage inside the node step or not.