Custom Plugin theme filter

The page_template is a filter, not an action. Specifically it’s filtering the file path of the template to be included.

So really you shouldn’t be loading anything in that callback (it’s too early). Instead just return its file path.

add_filter( 'page_template', 'load_tq_templates' ); 
function load_tq_templates( $template ) {

    if ( is_page( 'transport-quote-1' ) ) {

        if ( $overridden_template = locate_template( 'tq-1.php' ) ) {
            $template = $overridden_template;

        } else {
           // If neither the child nor parent theme have overridden the template,
           // we load the template from the 'templates' sub-directory of the directory this file is in
           $template = dirname( __FILE__ ) . '/templates/tq-1.php';
        }

    }

    return $template;       
}