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 = 13 
WHERE 
  cscart_products_categories.product_id IN (
    1652, 1309, 1653, 1668, 1634, 1688, 1499, 
    1613, 1648, 1723, 1590, 1510, 1950, 
    1951, 1924, 1949, 1745, 1654, 1501, 
    69, 89, 1643, 1645, 1925, 1666, 1664, 
    1557, 1695, 1559, 1315, 1310, 1471, 
    1502, 86, 1504, 33, 1944, 1942, 1900, 
    1777, 1748, 1679, 1702, 1610, 1706, 
    1683, 1946, 1524
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00204

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": 49,
      "filtered": 100,
      "index_condition": "cscart_products_categories.product_id in (1652,1309,1653,1668,1634,1688,1499,1613,1648,1723,1590,1510,1950,1951,1924,1949,1745,1654,1501,69,89,1643,1645,1925,1666,1664,1557,1695,1559,1315,1310,1471,1502,86,1504,33,1944,1942,1900,1777,1748,1679,1702,1610,1706,1683,1946,1524)"
    },
    "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": ["bacpvdev_db.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')"
    },
    "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", "bacpvdev_db.cscart_products_categories.product_id"],
      "rows": 1,
      "filtered": 100
    }
  }
}

Result

product_id category_ids position
33 13M 0
69 13M 0
86 13M 0
89 13M 0
1309 13M 0
1310 13M 0
1315 13M 0
1471 13M 0
1499 13M 0
1501 13M 0
1502 13M 0
1504 13M 0
1510 13M 0
1524 13M 0
1557 13M 0
1559 13M 0
1590 13M 0
1610 13M 0
1613 13M 0
1634 13M 0
1643 13M 0
1645 13M 0
1648 13M 0
1652 13M 0
1653 13M 0
1654 13M 0
1664 13M 0
1666 13M 0
1668 13M 0
1679 13M 0
1683 13M 0
1688 13M 0
1695 13M 0
1702 13M 0
1706 13M 0
1723 13M 0
1745 13M 0
1748 13M 0
1777 13M 0
1900 13M 0
1924 13M 0
1925 13M 0
1942 13M 0
1944 13M 0
1946 13M 0
1949 13M 0
1950 13M 0
1951 13M 0