Here's how I'm replicating different streamdeck profiles. I'm not great at "walking though" macros so please tell me if something here is not explained clearly enough!
On the streamdeck software, all 15 of my buttons are set to the KeyBoard Maestro actions.
In KM, I have two Macro Groups, each being a "profile." I have a "Work Main" group, and a 2nd group, and a 2nd group called "Work PW." The 2nd group is disabled.
In each group, I have a macro called "~Launch Streamdeck buttons" which assigns an icon and text to each of the 15 buttons. (I keep a template of all "blanks" at the top, so that duplicating this is always fast.) In the Main group, this macro runs at engine launch, so when I turn on my computer, this macro assigns icons and text to all my keys.
One of my buttons/macros simply "switches profiles". It does this by enabling my 2nd Macro Group, running the macro in that group that reassigns the icons and text to all 15 buttons, and then disables the Main group (which this macro is in.)
In my 2nd macro group, each macro performs a task (in this case, inserting the text of very low-level passwords that everyone in my office already knows and not for anything very sensitive!) and then runs a 2nd macro, called "Revert Back to Main."
"Revert Back to Main" is a macro that Enables the "Main" macro group, runs that first Macro that had been run at Engine launch to reassign all 15 keys, and then disables this 2nd Macro group.
That's it. It took a little bit to set up, but now that it is, it's very easy to replicate. I also have a version (on my home machine) that does this based on what app is in the foreground, but that may be a bit much to add here!
I hope this helps!