Possibly rewrite the blur effect
Leaving here before putting any real work in it...
The problem: after changing how surface damage and buffer damage are tracked, the blur effect regressed as it used to rely on the fact that it gets the repair region in prePaintWindow() to expand the damage. Now, the repair region is not included in the surface damage so the blur effect cannot expand the repainted region to ensure that the entire background behind the window is repainted, i.e. the blur effect can blur already blurred background.
Fortunately, it's not really noticeable with the default setup where the panel is usually the top-most window.
Fixing the bug is challenging. First of all, we cannot pass the repair region in the pre-paint pass, it's a no-no because the final painted region will be known only after walking through render layers. The most feasible (imho) way to fix it would be to cache the background behind the window. It has several advantages - improved memory usage and background blurred strictly beneath the window. However, making that work efficiently with animated windows can be notoriously difficult. The third option is to keep things as is except that every window will have its own allocated offscreen render targets, it's a huge memory waste though, e.g. on my machine kwin would waste 36M of VRAM per window.
Prior to the "Kawase" changes, the blur effect used to cache the blurred background, we need unblurred background though. https://invent.kde.org/plasma/kwin/-/blob/Plasma/5.10/effects/blur/blur.cpp#L618