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 = 7143 
WHERE 
  cscart_products_categories.product_id IN (
    89307, 82362, 89319, 89326, 91960, 90096, 
    89312, 90118, 89345, 89193, 89318, 
    89347, 89346, 89197, 89255, 89348, 
    89261, 89314, 89320, 83140, 84119, 
    89260, 89315, 89256, 82360, 89313, 
    89316, 91953, 91954, 91955, 91956, 
    91957, 91958, 91959, 84290, 82404, 
    83118, 84115, 89310, 82342, 89311, 
    82367, 89304, 86236, 86815, 89973, 
    82364, 82363
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01928

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "76.79"
    },
    "grouping_operation": {
      "using_filesort": false,
      "nested_loop": [
        {
          "table": {
            "table_name": "cscart_products_categories",
            "access_type": "range",
            "possible_keys": [
              "PRIMARY",
              "link_type",
              "pt"
            ],
            "key": "pt",
            "used_key_parts": [
              "product_id"
            ],
            "key_length": "3",
            "rows_examined_per_scan": 85,
            "rows_produced_per_join": 85,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "8.79",
              "eval_cost": "8.50",
              "prefix_cost": "17.29",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (89307,82362,89319,89326,91960,90096,89312,90118,89345,89193,89318,89347,89346,89197,89255,89348,89261,89314,89320,83140,84119,89260,89315,89256,82360,89313,89316,91953,91954,91955,91956,91957,91958,91959,84290,82404,83118,84115,89310,82342,89311,82367,89304,86236,86815,89973,82364,82363))"
          }
        },
        {
          "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",
              "nuie_scalesta_net.cscart_products_categories.product_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 85,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "21.25",
              "eval_cost": "8.50",
              "prefix_cost": "47.04",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "position"
            ]
          }
        },
        {
          "table": {
            "table_name": "cscart_categories",
            "access_type": "eq_ref",
            "possible_keys": [
              "PRIMARY",
              "c_status",
              "p_category_id"
            ],
            "key": "PRIMARY",
            "used_key_parts": [
              "category_id"
            ],
            "key_length": "3",
            "ref": [
              "nuie_scalesta_net.cscart_products_categories.category_id"
            ],
            "rows_examined_per_scan": 1,
            "rows_produced_per_join": 4,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "21.25",
              "eval_cost": "0.43",
              "prefix_cost": "76.79",
              "data_read_per_join": "11K"
            },
            "used_columns": [
              "category_id",
              "usergroup_ids",
              "status",
              "storefront_id"
            ],
            "attached_condition": "((`nuie_scalesta_net`.`cscart_categories`.`storefront_id` in (0,1)) and ((`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids` = '') or (0 <> find_in_set(0,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`)) or (0 <> find_in_set(1,`nuie_scalesta_net`.`cscart_categories`.`usergroup_ids`))) and (`nuie_scalesta_net`.`cscart_categories`.`status` in ('A','H')))"
          }
        }
      ]
    }
  }
}

Result

product_id category_ids position
82342 7301,7151M
82360 7301,7151M
82362 7301,7151M
82363 7146M
82364 7146M
82367 7301,7151M
82404 7151M,7301
83118 7189M
83140 7146M
84115 7189M
84119 7146M
84290 7304M
86236 7302M
86815 7189M
89193 7189M
89197 7146M
89255 7324,7153,7325,7143,7154M 0
89256 7324,7325,7143,7154M,7153 0
89260 7324,7154M,7143,7325,7153 0
89261 7154M,7324,7143,7325,7153 0
89304 7326M
89307 7326M
89310 7326M
89311 7326M
89312 7326M
89313 7326M
89314 7326M
89315 7326M
89316 7326M
89318 7326M
89319 7326M
89320 7326M
89326 7326M
89345 7154M,7143,7153,7324,7325 0
89346 7325,7154M,7153,7143,7324 0
89347 7143,7154M,7153,7325,7324 0
89348 7143,7154M,7153,7325,7324 0
89973 7189M
90096 7189M
90118 7146M
91953 7302M
91954 7302M
91955 7302M
91956 7302M
91957 7302M
91958 7302M
91959 7302M
91960 7302M