rewrite endpoint not working on home page

You’ll need to use a combination of add_rewrite_tag and add_rewrite_rule

function setup_seo_endpoint() {
    // Ensures the $query_vars['item'] is available
    add_rewrite_tag( '%item%', '([^&]+)' );

    // Requires flushing endpoints whenever the 
    // front page is switched to a different page
    $page_on_front = get_option( 'page_on_front' );

    // Match the front page and pass item value as a query var.
    add_rewrite_rule( '^item/([^/]*)/?', 'index.php?page_id='.$page_on_front.'&item=$matches[1]', 'top' );
    // Match non-front page pages.
    add_rewrite_rule( '^(.*)/item/([^/]*)/?', 'index.php?pagename=$matches[1]&static=true&item=$matches[2]', 'top' );
}
add_action( 'init', 'setup_seo_endpoint', 1);

// http://wordpress.stackexchange.com/a/220484/52463
// In order to keep WordPress from forcing a redirect to the canonical
// home page, the redirect needs to be disabled.
function disable_canonical_redirect_for_front_page( $redirect ) {
    if ( is_page() && $front_page = get_option( 'page_on_front' ) ) {
        if ( is_page( $front_page ) ) {
            $redirect = false;
        }
    }

    return $redirect;
}
add_filter( 'redirect_canonical', 'disable_canonical_redirect_for_front_page' );