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 = 7 
WHERE 
  cscart_products_categories.product_id IN (
    681, 393, 41, 1827, 1454, 1476, 1473, 
    1198, 1179, 1281, 926, 1258, 1168, 1394, 
    1259, 1865, 390, 1412, 1066, 1399, 1204, 
    1387, 332, 330, 333, 329, 327, 504, 1008, 
    758, 1817, 1819, 1172, 1196, 1908, 1809, 
    1405, 1851, 730, 1481, 382, 453, 425, 
    1428, 1425, 1426, 1430, 1429
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00217

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 (681,393,41,1827,1454,1476,1473,1198,1179,1281,926,1258,1168,1394,1259,1865,390,1412,1066,1399,1204,1387,332,330,333,329,327,504,1008,758,1817,1819,1172,1196,1908,1809,1405,1851,730,1481,382,453,425,1428,1425,1426,1430,1429)"
    },
    "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
41 17M
327 17M
329 17M
330 17M
332 17M
333 17M
382 17M
390 8M
393 20M
425 17M
453 17M
504 17M
681 20M
730 17M
758 17M
926 8M
1008 17M
1066 43M
1168 8M
1172 17M
1179 8M
1196 17M
1198 8M
1204 8M
1258 8M
1259 8M
1281 8M
1387 43M
1394 8M
1399 43M
1405 17M
1412 7M 0
1425 7M 0
1426 7M 0
1428 7M 0
1429 7M 0
1430 7M 0
1454 43M
1473 43M
1476 43M
1481 17M
1809 17M
1817 17M
1819 17M
1827 43M
1851 17M
1865 8M
1908 17M