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 (
    86227, 84122, 82447, 89402, 89404, 91284, 
    89403, 89331, 82403, 82410, 82424, 
    89265, 89330, 89264, 86817, 89368, 
    89268, 89367, 89308, 91920, 91928, 
    89267, 86818, 86820, 89591, 89592, 
    86226, 89295, 86237, 89332
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00137

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "44.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": 49,
            "rows_produced_per_join": 49,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "5.18",
              "eval_cost": "4.90",
              "prefix_cost": "10.08",
              "data_read_per_join": "784"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (86227,84122,82447,89402,89404,91284,89403,89331,82403,82410,82424,89265,89330,89264,86817,89368,89268,89367,89308,91920,91928,89267,86818,86820,89591,89592,86226,89295,86237,89332))"
          }
        },
        {
          "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": 49,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "12.25",
              "eval_cost": "4.90",
              "prefix_cost": "27.23",
              "data_read_per_join": "784"
            },
            "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": 2,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "12.25",
              "eval_cost": "0.25",
              "prefix_cost": "44.38",
              "data_read_per_join": "6K"
            },
            "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
82403 7301,7151M
82410 7301,7151M
82424 7301,7151M
82447 7146M
84122 7146M
86226 7302M
86227 7302M
86237 7302M
86817 7326M
86818 7326M
86820 7326M
89264 7326M
89265 7326M
89267 7326M
89268 7326M
89295 7143,7153,7324,7325,7154M 0
89308 7326M
89330 7326M
89331 7326M
89332 7326M
89367 7326M
89368 7326M
89402 7143,7153,7324,7325,7154M 0
89403 7143,7153,7324,7325,7154M 0
89404 7143,7153,7324,7325,7154M 0
89591 7302M
89592 7302M
91284 7146M
91920 7146M
91928 7145M