SELECT 
  COUNT(*) 
FROM 
  cscart_storefronts AS storefronts 
  LEFT JOIN cscart_storefronts_companies AS companies ON storefronts.storefront_id = companies.storefront_id 
WHERE 
  1 = 1 
  AND (
    companies.company_id IN ('3') 
    OR companies.company_id IS NULL
  )

Query time 0.00036

JSON explain

{
  "query_block": {
    "select_id": 1,
    "table": {
      "table_name": "storefronts",
      "access_type": "index",
      "key": "PRIMARY",
      "key_length": "4",
      "used_key_parts": ["storefront_id"],
      "rows": 1,
      "filtered": 100,
      "using_index": true
    },
    "table": {
      "table_name": "companies",
      "access_type": "ref",
      "possible_keys": ["PRIMARY", "idx_storefront_id"],
      "key": "idx_storefront_id",
      "key_length": "4",
      "used_key_parts": ["storefront_id"],
      "ref": ["vietpom_dev.storefronts.storefront_id"],
      "rows": 1,
      "filtered": 100,
      "attached_condition": "trigcond(companies.company_id = '3' or companies.company_id is null) and trigcond(storefronts.storefront_id = companies.storefront_id)",
      "using_index": true
    }
  }
}

Result

COUNT(*)
1