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 = 266 
WHERE 
  cscart_products_categories.product_id IN (
    2422, 2423, 2424, 2425, 2426, 2427, 2428, 
    2429, 2430, 2431, 2432, 2433, 2434, 
    2435, 2436, 2437, 2438, 2519, 2520, 
    2521, 2522, 2523, 2524, 2525, 2526, 
    2527, 2608, 2609, 2610, 2611, 2612, 
    2613, 2614, 2615, 2616, 5872, 5873, 
    5874, 5875, 5940, 5941, 5942, 5943, 
    5944, 5945, 5946, 5947, 5948
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00113

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "69.05"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "7.84"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 40,
            "rows_produced_per_join": 1,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "4.54",
              "eval_cost": "0.16",
              "prefix_cost": "4.70",
              "data_read_per_join": "6K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`gaseus`.`cscart_categories`.`storefront_id` in (0,1)) and ((`gaseus`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`gaseus`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`gaseus`.`cscart_categories`.`usergroup_ids`))) and (`gaseus`.`cscart_categories`.`status` in ('A','H')))"
          }
        },
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 49,
            "rows_produced_per_join": 7,
            "filtered": "10.00",
            "index_condition": "(`gaseus`.`cscart_products_categories`.`product_id` in (2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2433,2434,2435,2436,2437,2438,2519,2520,2521,2522,2523,2524,2525,2526,2527,2608,2609,2610,2611,2612,2613,2614,2615,2616,5872,5873,5874,5875,5940,5941,5942,5943,5944,5945,5946,5947,5948))",
            "using_join_buffer": "hash join",
            "cost_info": {
              "read_cost": "46.66",
              "eval_cost": "0.78",
              "prefix_cost": "59.20",
              "data_read_per_join": "125"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`gaseus`.`cscart_products_categories`.`category_id` = `gaseus`.`cscart_categories`.`category_id`)"
          }
        },
        {
          "table": {
            "table_name": "product_position_source",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id",
              "product_id"
            ],
            "key_length": "6",
            "ref": [
              "const",
              "gaseus.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 7,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.23",
              "eval_cost": "0.78",
              "prefix_cost": "61.21",
              "data_read_per_join": "125"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
2422 308M
2423 308M
2424 308M
2425 308M
2426 308M
2427 308M
2428 308M
2429 308M
2430 308M
2431 308M
2432 308M
2433 308M
2434 308M
2435 308M
2436 308M
2437 308M
2438 308M
2519 308M
2520 308M
2521 308M
2522 308M
2523 308M
2524 308M
2525 308M
2526 308M
2527 308M
2608 308M
2609 308M
2610 308M
2611 308M
2612 308M
2613 308M
2614 308M
2615 308M
2616 308M
5872 308M
5873 308M
5874 308M
5875 308M
5940 308M
5941 308M
5942 308M
5943 308M
5944 308M
5945 308M
5946 308M
5947 308M
5948 308M