At notification backend initialization we don't just check whether the notification service exists but also whether one could be activated and treat it as existant then.
When the service owner changes (e.g. plasmashell is crashing) we check if a new service exists but not whether one could be activated. A notification coming in while plasmashell is crashed thus triggeres the horrible KPassivePopup fallback.
plasmashell itself is not DBus activatable, but it has a waitforname helper that is and forwards the notification to Plasma. With this patch instead of using the fallback we DBus-activate the helper and the notification appears as soon as Plasma is restarted.