Workaround for this, if you generally use the second screen for specific sets of applications, pinning the application to all desktops on that screen will make it act like it doesn’t ‘move’ when you switch VDs.
So, I suggest just making a Window Rule targeting the apps you usually use on that screen. “Pin it to all desktops” on spawn (force override setting).
For Spotify or something this is easy, and you might as well Force override initial geometry (yes) and spawn on the correct screen.
For something like a browser window, I usually only use my 2nd monitor for videos, I tried using a Regex to target Window Title bars with Twitch, Youtube, or Netflix to Pin to all desktops, but this caused issues when I would browse anywhere with a Youtube in the titlebar (say a blog post referencing Youtube), so to be more specific in my targeting, I just made a Progressive Web App using this Firefox Extension, so I could target the Window Class (Application) type with the unique PWA title (example: “firefox-bin FFPWA-01JKW40MR0ZZY4E2EP101Y25R4”). This isolates it from, say, any given Firefox window with a matching title. If you make a new profile with the PWA as suggested, you can you can just log into your desired sites in this new profile as if it is your normal profile. ((If you don’t already use Firefox, you could just use a second browser (say you use Google Chrome, just use Firefox) that you ONLY use for videos, for example, and just target that.)) Of course, this should function for Google Chrome PWAs, too, but I’m not as familiar with that, but I’m sure it’s similar.
Full layout Window Rule for targeting:
Open “Configure Special Application Settings” via KDE Settings or Right-click More Actions>
Window Matching Rules:
Desc: Whatever you like to understand this
Window class (application): Exact Match > firefox-bin FFPWA-01JKW40MR0ZZY4E2EP101Y25R4
Match whole window class? Yes
Window types: Normal window
Size & Position (Required):
Virtual Desktops: Force > All Desktops
Size & Position (Optional):
Ignore requested geometry: Force > Yes
Maximized vertically/horizontally: Apply Initially: Yes/Yes
Position: Apply Initially: X by Y (in my case, 805x0 puts it on the top screen, then it gets ‘maximized’)