It sure feels like InDesign ought to be able to do this on its own, so someone may still come up with a pure InDesign-based solution. I can't think of any -- all "reasonable" attempts with any combination of visible and/or invisible characters don't work.
But here is a solution using … a custom font! (I used my own IndyFont , which automatically takes care of the required OpenType programming, but of course you can use other font editor you want. All I'm saying it took 5 minutes, no more, to pull this off with IF
</plug>.)
For this, all you need is a font that has 3 characters: a regular closing parenthesis, a regular hyphen (because that is the character that InDesign inserts when it needs to display a soft hyphen), and a ligature consisting of a closing parenthesis followed by a hyphen. Make sure it does not look like that -- it actually looks like this!

Then, use Find/Change to add a soft hyphen after all closing parentheses, and at the same time set the font for just these two characters to your custom font. This is what it looks like when not hyphenated, when the closing parenthesis is shown "as usual":

but this is what happens when InDesign breaks on the discretionary hyphen, and so displays the combination ")-" using the custom font!

… for clarity, without the frames and invisibles it looks like this:
