I’ve found the offending filter: ‘bbp_replace_the_content’
The function bbp_replace_the_content() hijacks the content of any post, regardless of which loop it is in, based simply on whether the page is also the forum archive or topic archive page.
I was able to get the excerpt for my custom loop, while still preserving the Forum archive on the same page, by using remove_filter( ‘the_content’, ‘bbp_replace_the_content’ ) before the_excerpt() and add_filter( ‘the_content’, ‘bbp_replace_the_content’ ) after.
@johnnypea – Did you ever get this figured out? Using the_excerpt() anywhere on a BBPress page returns Forum content, even when called within a non-forum custom loop, and then completely clears the $post object… This is very frustrating.