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 = 308 
WHERE 
  cscart_products_categories.product_id IN (
    3027, 3301, 6847, 3300, 2841, 2842, 2843, 
    2844, 6426, 6427, 6428, 6429, 6430, 
    2765, 2766, 2767, 2768, 6352, 6353, 
    6354, 6355, 6356, 5807, 2185, 2186, 
    2187, 2188, 5785, 5786, 5787, 5788, 
    5789, 6623, 1504, 1494, 6209, 1499, 
    1489, 1433, 6614, 2268, 2269, 2270, 
    2271, 2336, 2337, 2338, 2339
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00117

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "69.97"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "8.00"
      },
      "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": 50,
            "rows_produced_per_join": 8,
            "filtered": "10.00",
            "index_condition": "(`gaseus`.`cscart_products_categories`.`product_id` in (3027,3301,6847,3300,2841,2842,2843,2844,6426,6427,6428,6429,6430,2765,2766,2767,2768,6352,6353,6354,6355,6356,5807,2185,2186,2187,2188,5785,5786,5787,5788,5789,6623,1504,1494,6209,1499,1489,1433,6614,2268,2269,2270,2271,2336,2337,2338,2339))",
            "using_join_buffer": "hash join",
            "cost_info": {
              "read_cost": "47.22",
              "eval_cost": "0.80",
              "prefix_cost": "59.92",
              "data_read_per_join": "128"
            },
            "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.25",
              "eval_cost": "0.80",
              "prefix_cost": "61.97",
              "data_read_per_join": "128"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
1433 308M 0
1489 308M 0
1494 308M 0
1499 308M 0
1504 308M 0
2185 308M 0
2186 308M 0
2187 308M 0
2188 308M 0
2268 308M 0
2269 308M 0
2270 308M 0
2271 308M 0
2336 308M 0
2337 308M 0
2338 308M 0
2339 308M 0
2765 308M 0
2766 308M 0
2767 308M 0
2768 308M 0
2841 308M 0
2842 308M 0
2843 308M 0
2844 308M 0
3027 308M 0
3300 308M 0
3301 308M 0
5785 308M 0
5786 308M 0
5787 308M 0
5788 308M 0
5789 308M 0
5807 308M 0
6209 308M 0
6352 308M 0
6353 308M 0
6354 308M 0
6355 308M 0
6356 308M 0
6426 308M 0
6427 308M 0
6428 308M 0
6429 308M 0
6430 308M 0
6614 308M 0
6623 308M 0
6847 308M 0