I'd rather not have to make a BTT mapping for each hyper key mapping though I do see how I think that could work.
That said while I can see how to create a mapping that then sends a different set of key presses I'm still not sure how to create a "caps + j" mapping. Pressing the two when trying to record a shortcut ends up with only "caps lock" being registered.
I just stumbled across this bug report and have a similar problem with Caps Lock as Hyperkey. My workaround is to press Caps Lock alone if it hasn't been pressed for a while, and then press the global shortcut, e.g. Caps Lock + j. Otherwise it won't work reliably.
Note that the first press of Caps Lock is recognized, as a HUD overlay shows. But for some reason that's not enough to trigger the global shortcut.
Like @bdarfler, I used other apps to process the Hyperkey, and they worked fine. But BTT has its advantages, and I don't want to have multiple apps with overlapping functionality. Maybe someone knows how to improve this?
Are you aware that BTT can distinguish between left and right modifiers? Perhaps depending on the keyboard you use and what you need it for, mapping Caps Lock to right control is more reliable for you.