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 (
    89734, 91286, 82415, 86854, 89339, 82355, 
    90093, 90103, 90112, 89438, 82398, 
    86849, 89730, 91293, 89353, 82380, 
    89333, 89354, 82340, 82341, 82346, 
    86389, 86391, 89430, 83115, 83125, 
    83134, 82449, 86823, 89123, 89127, 
    89159, 89550, 89355, 89356, 83087, 
    89284, 89437, 91289, 84262, 84266, 
    90120, 89157, 89548, 90092, 90102, 
    90111, 89335
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.02330

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "62.38"
    },
    "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": 69,
            "rows_produced_per_join": 69,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "7.18",
              "eval_cost": "6.90",
              "prefix_cost": "14.08",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (89734,91286,82415,86854,89339,82355,90093,90103,90112,89438,82398,86849,89730,91293,89353,82380,89333,89354,82340,82341,82346,86389,86391,89430,83115,83125,83134,82449,86823,89123,89127,89159,89550,89355,89356,83087,89284,89437,91289,84262,84266,90120,89157,89548,90092,90102,90111,89335))"
          }
        },
        {
          "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": 69,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "17.25",
              "eval_cost": "6.90",
              "prefix_cost": "38.23",
              "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": 3,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "17.25",
              "eval_cost": "0.35",
              "prefix_cost": "62.38",
              "data_read_per_join": "9K"
            },
            "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
82340 7145M
82341 7145M
82346 7145M
82355 7326M
82380 7326M
82398 7146M
82415 7146M
82449 7160M,7305
83087 7145M
83115 7147M
83125 7147M
83134 7147M
84262 7146M
84266 7146M
86389 7145M
86391 7145M
86823 7326M
86849 7145M
86854 7146M
89123 7145M
89127 7145M
89157 7145M
89159 7145M
89284 7153,7288M,7143 0
89333 7326M
89335 7326M
89339 7143,7288M,7153 0
89353 7143,7325,7324,7154M,7153 0
89354 7154M,7143,7325,7324,7153 0
89355 7143,7153,7325,7154M,7324 0
89356 7324,7143,7153,7325,7154M 0
89430 7145M
89437 7145M
89438 7146M
89548 7145M
89550 7145M
89730 7145M
89734 7145M
90092 7145M
90093 7147M
90102 7145M
90103 7147M
90111 7145M
90112 7147M
90120 7147M
91286 7147M
91289 7145M
91293 7145M