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 
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') 
WHERE 
  cscart_products_categories.product_id IN (
    12654, 12655, 12656, 12657, 12658, 12659, 
    12660, 12661, 12662, 12663, 12664, 
    12665, 12666, 12667, 12668, 12669, 
    12670, 12671, 12672, 12673, 12674, 
    12675, 12676, 12677, 12678, 12679, 
    12680, 12681, 12682, 12683
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00111

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "54.57"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "6.44"
      },
      "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": "range",
            "possible_keys": [
              "PRIMARY",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 35,
            "rows_produced_per_join": 6,
            "filtered": "10.00",
            "index_condition": "(`test2_gaseus`.`cscart_products_categories`.`product_id` in (12654,12655,12656,12657,12658,12659,12660,12661,12662,12663,12664,12665,12666,12667,12668,12669,12670,12671,12672,12673,12674,12675,12676,12677,12678,12679,12680,12681,12682,12683))",
            "using_join_buffer": "hash join",
            "cost_info": {
              "read_cost": "36.36",
              "eval_cost": "0.64",
              "prefix_cost": "48.13",
              "data_read_per_join": "103"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`test2_gaseus`.`cscart_products_categories`.`category_id` = `test2_gaseus`.`cscart_categories`.`category_id`)"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
12654 284M
12655 284M
12656 284M
12657 284M
12658 284M
12659 284M
12660 284M
12661 284M
12662 284M
12663 284M
12664 284M
12665 284M
12666 284M
12667 284M
12668 284M
12669 284M
12670 284M
12671 284M
12672 284M
12673 284M
12674 284M
12675 284M
12676 284M
12677 284M
12678 284M
12679 284M
12680 284M
12681 284M
12682 284M
12683 284M