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 = 271 
WHERE 
  cscart_products_categories.product_id IN (
    3725, 5202, 5203, 5204, 5205, 1485, 1486, 
    1487, 1488, 3163, 3723, 5194, 5195, 
    5196, 5197, 1429, 1430, 1431, 1432, 
    3161, 3719, 3720, 5142, 5143, 5144, 
    6730, 6731, 3158, 3159, 3160, 2102, 
    2039, 1985, 1472, 1484, 5613, 1428, 
    1478, 1466, 1873, 1460, 1449, 3743, 
    1454, 1444, 1422, 1765, 3734
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00131

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "69.97"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "8.00"
      },
      "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": 50,
            "rows_produced_per_join": 8,
            "filtered": "10.00",
            "index_condition": "(`gaseus`.`cscart_products_categories`.`product_id` in (3725,5202,5203,5204,5205,1485,1486,1487,1488,3163,3723,5194,5195,5196,5197,1429,1430,1431,1432,3161,3719,3720,5142,5143,5144,6730,6731,3158,3159,3160,2102,2039,1985,1472,1484,5613,1428,1478,1466,1873,1460,1449,3743,1454,1444,1422,1765,3734))",
            "using_join_buffer": "hash join",
            "cost_info": {
              "read_cost": "47.22",
              "eval_cost": "0.80",
              "prefix_cost": "59.92",
              "data_read_per_join": "128"
            },
            "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": 8,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "1.25",
              "eval_cost": "0.80",
              "prefix_cost": "61.97",
              "data_read_per_join": "128"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
1422 308M
1428 308M
1429 308M
1430 308M
1431 308M
1432 308M
1444 308M
1449 308M
1454 308M
1460 308M
1466 308M
1472 308M
1478 308M
1484 308M
1485 308M
1486 308M
1487 308M
1488 308M
1765 308M
1873 308M
1985 308M
2039 308M
2102 308M
3158 308M
3159 308M
3160 308M
3161 308M
3163 308M
3719 308M
3720 308M
3723 308M
3725 308M
3734 308M
3743 308M
5142 308M
5143 308M
5144 308M
5194 308M
5195 308M
5196 308M
5197 308M
5202 308M
5203 308M
5204 308M
5205 308M
5613 308M
6730 308M
6731 308M