I also implemented bbPress to my site using community slug for my forum. My requirement is different, though. In your case, I see two probable solutions.
Option 1:
You mentioned about using the shortcode [bbp-forum-index] to display forum listings on a WordPress page. Have you tried adding another WP page that has the short code [bbp-topic-index] for the topic listings?
You can create individual page template to be used for each of the WP pages above.
Below is a resource URL that explains Page Templates.
Basically, you just need to add below lines above the template file and save the template file to any filename identifying your template inside your child theme’s folder. I have the habit of adding page suffix so I know at once it is a page template. Change the name Full Width Page relevant to your filename, for easy reference.
<?php
/**
* Template Name: Full Width Page
*
* @package WordPress
* @subpackage Twenty_Twelve
* @since Twenty Twelve
*/
//Insert code here
?>
Insert the custom code in the file (the body of the index-forum from your example should suffice for full width or if you want the other file with sidebar, then add the following before the get_footer.
<?php get_sidebar(); ?>
Once you have the page templates, and since you have the two WordPress pages, each for forums and topics, go to Edit Page for each page and pick your custom template under the Page Attributes.
Option 2:
Use bbpress archive templates.
Navigate to:
wp-content\plugins\bbpress\templates\default\extras
and copy archive-forum.php and archive-topic.php inside your child theme’s folder (themes/your-child-theme/copy here). These two files call the content-archive-forum.php and content-archive-topic.php, which are both located on the bbpress plugin folder.
wp-content\plugins\bbpress\templates\default\bbpress
Insert your custom code on the archive-forum.php and archive-topic.php but typically what existed are enough, except when you need to use a different header, sidebar or footer.
Note: It is strongly suggested to make the necessary customization using a child theme.
]]>