I’ve been having a similar issue (WordPress 4.9.8, bbpress 2.5.14, no Buddypress). Forum users with the Participant role were able to view the existence of private forums but not any of the actual topics inside them. I tried creating a new role with read_private_topics enabled as well and assigning it to them, but to no avail. The only thing that seemed to fix it is what @kingstringy mentioned above:
The only thing that repairs the issue is switching each forum to public, saving the forum, then returning the forum to private status and saving again. Bulk edit doesn’t work — only updating each forum individually.
After having done that, users with the standard Participant role are able to see private forums again, with no other customization or plugins needed.
I wonder if there is a bug with the Bulk Actions dropdown in the Forums admin page? That’s what I used to set them to Private originally. Maybe it failed to update something that it needed to, whereas setting the visibility to Private on each forum individually succeeded.