SELECT 
  cscart_products_categories.product_id, 
  GROUP_CONCAT(
    IF(
      cscart_products_categories.link_type = "M", 
      CONCAT(
        cscart_products_categories.category_id, 
        "M"
      ), 
      cscart_products_categories.category_id
    )
  ) AS category_ids, 
  product_position_source.position AS position 
FROM 
  cscart_products_categories 
  INNER JOIN cscart_categories ON cscart_categories.category_id = cscart_products_categories.category_id 
  AND cscart_categories.storefront_id IN (0, 1) 
  AND (
    cscart_categories.usergroup_ids = '' 
    OR FIND_IN_SET(
      0, cscart_categories.usergroup_ids
    ) 
    OR FIND_IN_SET(
      1, cscart_categories.usergroup_ids
    )
  ) 
  AND cscart_categories.status IN ('A', 'H') 
  LEFT JOIN cscart_products_categories AS product_position_source ON cscart_products_categories.product_id = product_position_source.product_id 
  AND product_position_source.category_id = 291 
WHERE 
  cscart_products_categories.product_id IN (
    13029, 13030, 10106, 10105, 10104, 10103, 
    10625, 10626, 10627, 10628, 10629, 
    10630, 10631, 10632, 10633, 10634, 
    10635, 10636, 10403, 10404, 10405, 
    15781, 10406, 10407, 10408, 10409, 
    10410, 10411, 10412, 12853, 12854, 
    12855, 10414, 10415, 10416, 12856, 
    10417, 10418, 10419, 10420, 10421, 
    10422, 10423, 10424, 10384, 10383, 
    10382, 10753, 10754, 10755, 10296, 
    10297, 10298, 10299, 10300, 10446, 
    10756, 10757, 10758, 13031, 13032, 
    13033, 13034, 13035, 13036, 13037, 
    13038, 13039, 13040, 13041, 13042, 
    13043, 13044
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00237

JSON explain

{
  "query_block": {
    "select_id": 1,
    "table": {
      "table_name": "cscart_products_categories",
      "access_type": "range",
      "possible_keys": ["PRIMARY", "pt"],
      "key": "pt",
      "key_length": "3",
      "used_key_parts": ["product_id"],
      "rows": 76,
      "filtered": 100,
      "index_condition": "cscart_products_categories.product_id in (13029,13030,10106,10105,10104,10103,10625,10626,10627,10628,10629,10630,10631,10632,10633,10634,10635,10636,10403,10404,10405,15781,10406,10407,10408,10409,10410,10411,10412,12853,12854,12855,10414,10415,10416,12856,10417,10418,10419,10420,10421,10422,10423,10424,10384,10383,10382,10753,10754,10755,10296,10297,10298,10299,10300,10446,10756,10757,10758,13031,13032,13033,13034,13035,13036,13037,13038,13039,13040,13041,13042,13043,13044)"
    },
    "table": {
      "table_name": "product_position_source",
      "access_type": "eq_ref",
      "possible_keys": ["PRIMARY", "pt"],
      "key": "PRIMARY",
      "key_length": "6",
      "used_key_parts": ["category_id", "product_id"],
      "ref": [
        "const",
        "noframes_angrybeaver.cscart_products_categories.product_id"
      ],
      "rows": 1,
      "filtered": 100
    },
    "table": {
      "table_name": "cscart_categories",
      "access_type": "eq_ref",
      "possible_keys": ["PRIMARY", "c_status", "p_category_id"],
      "key": "PRIMARY",
      "key_length": "3",
      "used_key_parts": ["category_id"],
      "ref": ["noframes_angrybeaver.cscart_products_categories.category_id"],
      "rows": 1,
      "filtered": 100,
      "attached_condition": "cscart_categories.storefront_id in (0,1) and (cscart_categories.usergroup_ids = '' or find_in_set(0,cscart_categories.usergroup_ids) or find_in_set(1,cscart_categories.usergroup_ids)) and cscart_categories.`status` in ('A','H')"
    }
  }
}

Result

product_id category_ids position
10103 1618M
10104 1618M
10105 1618M
10106 1618M
10296 1645M
10297 1645M
10298 1645M
10299 1645M
10300 1645M
10382 1654M
10383 1654M
10384 1654M
10403 1655M
10404 1655M
10405 1655M
10406 1655M
10407 1655M
10408 1655M
10409 1655M
10410 1655M
10411 1655M
10412 1655M
10414 1655M
10415 1655M
10416 1655M
10417 1655M
10418 1655M
10419 1655M
10420 1655M
10421 1655M
10422 1655M
10423 1655M
10424 1655M
10446 1645M
10625 1660M
10626 1660M
10627 1660M
10628 1660M
10629 1660M
10630 1660M
10631 1660M
10632 1660M
10633 1660M
10634 1660M
10635 1660M
10636 1660M
10753 1680M
10754 1680M
10755 1680M
10756 1679M
10757 1679M
10758 1679M
12853 1655M
12854 1655M
12855 1655M
12856 1655M
13029 301,1683M
13030 301,1683M
13031 313,301M
13032 313,301M
13033 313,301M
13034 313,301M
13035 313,301M
13036 313,301M
13037 313,301M
13038 313,301M
13039 313,301M
13040 313,301M
13041 313,301M
13042 313,301M
13043 313,301M
13044 313,301M
15781 1655M