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 (
    4087, 4088, 4089, 4090, 4091, 4092, 4093, 
    3122, 6675, 6696, 6703, 3118, 3111, 
    3124, 3112, 324, 6704, 6709, 6946, 4177, 
    6945, 338, 331, 6705, 3932, 3134, 3116, 
    3126, 6673, 6679, 6691, 3155, 3131, 
    310, 303, 3939, 317, 3132, 3143, 3130, 
    3129, 3121, 3128, 6681, 6695, 3098, 
    3115, 6690
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00114

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "72.73"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "8.48"
      },
      "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": 53,
            "rows_produced_per_join": 8,
            "filtered": "10.00",
            "index_condition": "(`gaseus`.`cscart_products_categories`.`product_id` in (4087,4088,4089,4090,4091,4092,4093,3122,6675,6696,6703,3118,3111,3124,3112,324,6704,6709,6946,4177,6945,338,331,6705,3932,3134,3116,3126,6673,6679,6691,3155,3131,310,303,3939,317,3132,3143,3130,3129,3121,3128,6681,6695,3098,3115,6690))",
            "using_join_buffer": "hash join",
            "cost_info": {
              "read_cost": "48.90",
              "eval_cost": "0.85",
              "prefix_cost": "62.08",
              "data_read_per_join": "135"
            },
            "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.33",
              "eval_cost": "0.85",
              "prefix_cost": "64.25",
              "data_read_per_join": "135"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
303 273M
310 273M
317 273M
324 273M
331 273M
338 273M
3098 273M
3111 273M
3112 273M
3115 273M
3116 273M
3118 273M
3121 273M
3122 273M
3124 273M
3126 273M
3128 273M
3129 273M
3130 273M
3131 273M
3132 273M
3134 273M
3143 273M
3155 273M
3932 273M
3939 273M
4087 273M
4088 273M
4089 273M
4090 273M
4091 273M
4092 273M
4093 273M
4177 273M
6673 273M
6675 273M
6679 273M
6681 273M
6690 273M
6691 273M
6695 273M
6696 273M
6703 273M
6704 273M
6705 273M
6709 273M
6945 267,282,288M
6946 267,282,288M