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 (
    2127, 2305, 1812, 2038, 2306, 2129, 2171, 
    2039, 2040, 1985, 2114, 2344, 1949, 
    2041, 2318, 1961, 2042, 1986, 2343, 
    2077, 2172, 2185, 2159, 2216, 2218, 
    2229, 2228, 2186, 2184, 1934, 2358, 
    1994, 2006, 2075, 1962, 2065, 1992, 
    2008, 1984, 1993, 1936, 2238, 2237, 
    2311, 2298, 2043, 1954, 1953, 1752, 
    1827, 1870, 1803, 1828, 1754, 1770, 
    1879, 1874, 1829, 1864, 1904, 1842, 
    1781, 1894, 2153, 1886, 1887, 2085, 
    2195, 2130, 2382, 2011, 1919, 1922, 
    1942, 1923, 1933, 1945, 1946, 2376, 
    1746
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00102

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "26.24"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "2.15"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 68,
            "rows_produced_per_join": 2,
            "filtered": "4.00",
            "cost_info": {
              "read_cost": "7.63",
              "eval_cost": "0.27",
              "prefix_cost": "7.91",
              "data_read_per_join": "9K"
            },
            "used_columns": [
              "category_id",
              "storefront_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`cscartdevel`.`cscart_categories`.`storefront_id` in (0,1)) and ((`cscartdevel`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`cscartdevel`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`cscartdevel`.`cscart_categories`.`usergroup_ids`))) and (`cscartdevel`.`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": [
              "cscartdevel.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 17,
            "rows_produced_per_join": 2,
            "filtered": "4.65",
            "index_condition": "(`cscartdevel`.`cscart_products_categories`.`product_id` in (2127,2305,1812,2038,2306,2129,2171,2039,2040,1985,2114,2344,1949,2041,2318,1961,2042,1986,2343,2077,2172,2185,2159,2216,2218,2229,2228,2186,2184,1934,2358,1994,2006,2075,1962,2065,1992,2008,1984,1993,1936,2238,2237,2311,2298,2043,1954,1953,1752,1827,1870,1803,1828,1754,1770,1879,1874,1829,1864,1904,1842,1781,1894,2153,1886,1887,2085,2195,2130,2382,2011,1919,1922,1942,1923,1933,1945,1946,2376,1746))",
            "cost_info": {
              "read_cost": "11.56",
              "eval_cost": "0.22",
              "prefix_cost": "24.09",
              "data_read_per_join": "34"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids
1746 303M
1752 303M
1754 303M
1770 303M
1781 303M
1803 303M
1812 305M
1827 303M
1828 303M
1829 303M
1842 303M
1864 303M
1870 303M
1874 303M
1879 303M
1886 303M
1887 303M
1894 303M
1904 303M
1919 398M
1922 398M
1923 398M
1933 398M
1934 305M
1936 305M
1942 398M
1945 400M
1946 400M
1949 305M
1953 299M
1954 299M
1961 305M
1962 305M
1984 305M
1985 305M
1986 305M
1992 305M
1993 305M
1994 305M
2006 305M
2008 305M
2011 398M
2038 305M
2039 305M
2040 305M
2041 305M
2042 305M
2043 305M
2065 305M
2075 305M
2077 305M
2085 299M
2114 305M
2127 305M
2129 305M
2130 324M
2153 303M
2159 359M
2171 309M
2172 305M
2184 359M
2185 359M
2186 359M
2195 324M
2216 359M
2218 359M
2228 359M
2229 359M
2237 305M
2238 305M
2298 305M
2305 305M
2306 305M
2311 305M
2318 305M
2343 305M
2344 305M
2358 305M
2376 400M
2382 400M