Most applications will do exactly that.
Kontact is a bit special in that regard as it can only launched onces.
Mostly a legacy decision from the time when its KMail component was handling email servers directly and having only one instances made data integrity more robust.
Contemporary KMail could be made to allow as many instances as you’d want and/or you could run several different email UIs at the same time.
It is not a workaround if you want activities to be independent.
Profiles are essentially Firefox’s implementation of activities.
Many applications actually support this concept, so it is probably more a matter of how to tie those together in a more convenient way.
I think it is the other way around.
A lot of applications support the concept of activities, though the might call them profiles or sessions, projects, etc.
A desktop environment with similar capability can then help to orchestrate these.
Virtual desktops already exist. This is not an either/or choice.
Activities do essentially that. Each activity is its own group of virtual desktops.
Yes, they do.
They (currently) just don’t give you a different number of virtual desktops.
My main/private activity has different (fancy) wallpapers for each monitor, my work related ones have the same (simple) wallpapers across all monitors but each one has a different image.
My main activity has a classic “icons on desktop” configured showing the user account’s “Desktop” folder, the others have folder views with activity specific folders.
All have a “sticky notes” applet but obviously with different content.
The work related activities have certain similarities, e.g. positions of applets, however that is because I’ve configured them this way for consistency. I didn’t have to.
That is what activities do. Their virtual desktops are a group, one per activity. Making changes applies to all virtual desktops in that group but none of the others.