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.company_id = 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 = 350 
WHERE 
  cscart_products_categories.product_id IN (
    439, 390, 1969, 393, 394, 1929, 396, 397, 
    398, 399, 422, 434, 383, 412, 1927, 419, 
    430, 324, 431, 432, 1928, 429, 1968, 
    384
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00609

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "168.77"
    },
    "grouping_operation": {
      "using_temporary_table": true,
      "using_filesort": true,
      "cost_info": {
        "sort_cost": "13.79"
      },
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "ALL",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "rows_examined_per_scan": 115,
            "rows_produced_per_join": 2,
            "filtered": "2.00",
            "cost_info": {
              "read_cost": "27.56",
              "eval_cost": "0.46",
              "prefix_cost": "28.02",
              "data_read_per_join": "6K"
            },
            "used_columns": [
              "category_id",
              "company_id",
              "usergroup_ids",
              "status"
            ],
            "attached_condition": "((`eshopuga_upgr_4122`.`cscart_categories`.`company_id` = 1) and ((`eshopuga_upgr_4122`.`cscart_categories`.`usergroup_ids` = '') or find_in_set(0,`eshopuga_upgr_4122`.`cscart_categories`.`usergroup_ids`) or find_in_set(1,`eshopuga_upgr_4122`.`cscart_categories`.`usergroup_ids`)) and (`eshopuga_upgr_4122`.`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": [
              "eshopuga_upgr_4122.cscart_categories.category_id"
            ],
            "rows_examined_per_scan": 40,
            "rows_produced_per_join": 13,
            "filtered": "14.99",
            "index_condition": "(`eshopuga_upgr_4122`.`cscart_products_categories`.`product_id` in (439,390,1969,393,394,1929,396,397,398,399,422,434,383,412,1927,419,430,324,431,432,1928,429,1968,384))",
            "cost_info": {
              "read_cost": "92.00",
              "eval_cost": "2.76",
              "prefix_cost": "138.42",
              "data_read_per_join": "220"
            },
            "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",
              "eshopuga_upgr_4122.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 13,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "13.79",
              "eval_cost": "2.76",
              "prefix_cost": "154.98",
              "data_read_per_join": "220"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
324 362,354,368,392,351,361,388,350,396,395,360,390,394,338M,358,353,340,357,391,393,349,363,352,356,359,355 0
383 349,363,352,341,376,356,359,355,362,339,354,368,345,370,351,361,381,344,337M,371,350,347,386,360,343,374,372,373,385,338,375,342,378,358,353,340,357,377,384 0
384 342,358,353,340,357,349,352,341,356,355,339,354,345,351,344,337M,350,347,343,338 0
390 338,342,363,358,392,353,340,357,359,362,349,368,352,341,356,361,355,388,339,354,396,345,351,395,344,390,337M,360,394,350,347,343,391,393 0
393 378,343,377,384,376,338,342,383,358,370,353,340,357,379,381,349,352,341,356,371,355,369,339,354,345,386,351,382,374,372,344,380,373,337M,385,350,347,375 0
394 373,337M,385,350,347,375,378,343,377,384,376,338,342,383,358,370,353,340,357,379,381,349,352,341,356,371,355,369,339,354,345,386,351,382,374,372,344,380 0
396 351,374,372,344,373,337M,350,347,375,378,343,377,376,338,342,358,370,353,340,357,349,352,341,356,371,355,369,339,354,345 0
397 356,355,339,354,345,351,344,337M,350,347,343,338,342,358,353,340,357,349,352,341 0
398 353,340,357,349,391,352,341,393,356,355,389,339,354,345,351,363,392,344,359,362,368,337M,350,347,361,388,396,343,395,390,360,338,394,342,358 0
399 338,342,358,353,340,357,349,352,341,356,355,339,354,345,351,344,337M,350,347,343 0
412 343,338,342,358,353,340,357,349,352,341,356,355,339,354,345,351,344,337M,350,347 0
419 390,350,360,394,343,391,393,338,389,342,358,353,340,357,363,392,349,352,341,359,362,368,356,355,339,354,361,345,388,351,396,395,344,337M 0
422 344,337M,350,343,338,342,358,353,340,357,349,352,341,356,355,339,354,345,351 0
429 355,339,354,345,351,344,337M,350,343,338,342,358,353,340,357,349,352,341,356 0
430 349,352,341,356,355,339,354,345,351,344,337M,350,343,338,342,358,353,340,357 0
431 338,395,342,358,353,357,390,349,360,352,341,394,356,355,339,354,345,351,391,393,344,337M,363,350,392,359,362,343,368,361,388,396 0
432 347,340,338,342,358,353,357,349,352,341,356,355,339,354,345,351,344,337M,350,343 0
434 382,361,343,380,347,385,340,338,342,360,358,353,357,384,349,352,341,356,355,383,339,354,345,351,379,381,363,344,337M,359,362,368,350,386 0
439 344,371,337M,359,369,362,368,350,386,382,361,374,343,372,373,385,340,375,338,378,342,360,358,353,357,377,384,349,376,352,341,355,383,339,354,370,345,351,379,381,363 0
1927 345,351,379,363,337,359,369,362,350,390,361M,374,340,391,338,378,358,353,377,349,339,370 0
1928 381,339,370,345,395,379,359,369,362,350,390,361M,374,391,338,378,349 0
1929 388,349,381,363M,339,345,379,337,373,359,369,350,390,352,377,391,338 0
1968 352,338,349,370,381,363,339,379,337,362,360,361M,359,369,340,350 0
1969 352,338,368,349,370,381,363,339,379,337,362,360,361M,359,369,340,350 0