Add new header/footer on landing page with plugin

You can intercept the template WordPress will be using with the template_include filter. Like this:

add_filter ('template_include','wpse303537_plugin_template', 10,1);
function wpse303537_plugin_template ($template) {
  if (is_front_page)
    $template = plugin_dir_path( __FILE__ ) . '/my-template.php';
  return $template;
  }

Alternatively, you can include an almost empty template for the landing page in your theme and fill it through the action hook in get_header.