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 = 280 
WHERE 
  cscart_products_categories.product_id IN (
    12037, 12102, 12116, 12118, 12132, 12146, 
    12160, 12174, 12188, 12202, 8203, 8214, 
    8215, 8216, 8217, 8218, 8205, 8206, 
    8207, 8208, 8209, 8210, 8211, 8212, 
    6843, 6840, 6841, 6846, 6962, 6966, 
    6967, 6965, 6963, 6952, 6953, 3484, 
    3487, 3485, 3486, 6969, 3434, 6947, 
    3424, 3911, 3422, 3910, 3421, 3909
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00219

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "67.92"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "1.20"
      },
      "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": "ref",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "gaseus.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 110,
            "rows_produced_per_join": 1,
            "filtered": "0.68",
            "index_condition": "(`gaseus`.`cscart_products_categories`.`product_id` in (12037,12102,12116,12118,12132,12146,12160,12174,12188,12202,8203,8214,8215,8216,8217,8218,8205,8206,8207,8208,8209,8210,8211,8212,6843,6840,6841,6846,6962,6966,6967,6965,6963,6952,6953,3484,3487,3485,3486,6969,3434,6947,3424,3911,3422,3910,3421,3909))",
            "cost_info": {
              "read_cost": "44.00",
              "eval_cost": "0.12",
              "prefix_cost": "66.30",
              "data_read_per_join": "19"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        },
        {
          "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": 1,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.30",
              "eval_cost": "0.12",
              "prefix_cost": "66.72",
              "data_read_per_join": "19"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
3421 292M
3422 292M
3424 292M
3434 303M
3484 302M
3485 302M
3486 302M
3487 302M
3909 292M
3910 292M
3911 292M
6840 287M
6841 287M
6843 287M
6846 287M
6947 267,292M,282
6952 301M,267,282
6953 282,301M,267
6962 282M,283,267
6963 282M,283,267
6965 283,282M,267
6966 283,267,282M
6967 282M,267,283
6969 303M
8203 306M
8205 306M
8206 306M
8207 306M
8208 306M
8209 306M
8210 306M
8211 306M
8212 306M
8214 306M
8215 306M
8216 306M
8217 306M
8218 306M
12037 306M
12102 306M
12116 306M
12118 306M
12132 306M
12146 306M
12160 306M
12174 306M
12188 306M
12202 306M