Also I found the other hook I was looking for, so I can apply the shortcodes to private messages. It turned out I can use `bp_get_the_thread_message_content` for that.
Apparently something else on the same filter was stripping shortcodes and their contents out of the activity body BEFORE this filter was being applied, so I just had to give it a high priority to work.