kwin_wayland relay on .desktop file to resolve the window decoration icon. if an app is standalone and has no system-wide .desktop file associated with it, then the generic wayland icon is used rather than app provided pixmap icon set by QApplication::setWindowIcon(QPixmap(...)) see ralated QTBUG: https://bugreports.qt.io/browse/QTBUG-101427 this behavior breaks every app than does not need to "INSTALL" into system and insert an icon into /usr/share/icons/
Yep that's how window icons work on Wayland per the core spec. There's currently nothing we can do in KDE to work around it. There's a proposed Wayland protocol to let apps that don't want to install icons manually set their own window icons: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/269 If that gets merged, Qt and KWin can add support for it to make this work the way id did on X11. If not, there's nothing we can do.