template_include filter does not render the custom template

The template_include filter runs much earlier and is used to load the main requests template.

Your content will be called from within the_content(), $GLOBALS['post']->post_content or whatever you use to display it. Point is, that you can’t use the filter as it won’t trigger. Try to simply use something like require/include.