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 = 267 
WHERE 
  cscart_products_categories.product_id IN (
    13176, 13162, 13169, 13232, 13225, 13190, 
    13183, 13239, 13204, 13197, 13246, 
    13218, 13211, 13253, 13302, 13303, 
    13308, 13309, 13306, 13307, 13310, 
    13311, 13312, 13313, 13304, 13305, 
    13319, 6962, 6966, 6967, 6965, 6963, 
    6952, 6953, 6947, 6959, 3425, 6958, 
    6960, 6968, 6961, 6964, 6957, 6956, 
    6954, 6955, 6948, 6950
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00237

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "61.40"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "1.94"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 46,
            "rows_produced_per_join": 1,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "5.15",
              "eval_cost": "0.18",
              "prefix_cost": "5.33",
              "data_read_per_join": "7K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`test2_gaseus`.`cscart_categories`.`storefront_id` in (0,1)) and ((`test2_gaseus`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`test2_gaseus`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`test2_gaseus`.`cscart_categories`.`usergroup_ids`))) and (`test2_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": [
              "test2_gaseus.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 83,
            "rows_produced_per_join": 1,
            "filtered": "1.27",
            "index_condition": "(`test2_gaseus`.`cscart_products_categories`.`product_id` in (13176,13162,13169,13232,13225,13190,13183,13239,13204,13197,13246,13218,13211,13253,13302,13303,13308,13309,13306,13307,13310,13311,13312,13313,13304,13305,13319,6962,6966,6967,6965,6963,6952,6953,6947,6959,3425,6958,6960,6968,6961,6964,6957,6956,6954,6955,6948,6950))",
            "cost_info": {
              "read_cost": "38.18",
              "eval_cost": "0.19",
              "prefix_cost": "58.78",
              "data_read_per_join": "31"
            },
            "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",
              "test2_gaseus.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 1,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "0.49",
              "eval_cost": "0.19",
              "prefix_cost": "59.46",
              "data_read_per_join": "31"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
3425 284M,267,282,312 0
6947 267,292M,282 0
6948 267,272M,282 0
6950 267,272M,282 0
6952 267,301M,282 0
6953 301M,267,282 0
6954 282,301M,267 0
6955 267,301M,282 0
6956 267,282,301M 0
6957 267,282,301M 0
6958 312,267,284M,282 0
6959 267,312,284M,282 0
6960 284M,312,282,267 0
6961 282M,267,283 0
6962 282M,267,283 0
6963 267,282M,283 0
6964 267,283,282M 0
6965 267,283,282M 0
6966 283,282M,267 0
6967 267,283,282M 0
6968 282,267,283M 0
13162 325M
13169 325M
13176 325M
13183 325M
13190 325M
13197 325M
13204 325M
13211 325M
13218 325M
13225 325M
13232 325M
13239 325M
13246 325M
13253 325M
13302 270M
13303 270M
13304 270M
13305 270M
13306 270M
13307 270M
13308 270M
13309 270M
13310 270M
13311 270M
13312 270M
13313 270M
13319 270M