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 = 7166 
WHERE 
  cscart_products_categories.product_id IN (
    85968, 90195, 84089, 90170, 90171, 90134, 
    90135, 85964, 90298, 90305, 90230, 
    90245, 90184, 90185, 90136, 83940, 
    84084, 90282, 90290, 90208, 90219, 
    85967, 90248, 90256, 90227, 84051, 
    84059, 90281, 90289, 85963
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.00068

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "54.28"
    },
    "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": 60,
            "rows_produced_per_join": 60,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "6.28",
              "eval_cost": "6.00",
              "prefix_cost": "12.28",
              "data_read_per_join": "960"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (85968,90195,84089,90170,90171,90134,90135,85964,90298,90305,90230,90245,90184,90185,90136,83940,84084,90282,90290,90208,90219,85967,90248,90256,90227,84051,84059,90281,90289,85963))"
          }
        },
        {
          "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": 60,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "15.00",
              "eval_cost": "6.00",
              "prefix_cost": "33.28",
              "data_read_per_join": "960"
            },
            "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": "15.00",
              "eval_cost": "0.30",
              "prefix_cost": "54.28",
              "data_read_per_join": "7K"
            },
            "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
83940 7319,7193M
84051 7319,7193M
84059 7319,7193M
84084 7319,7193M
84089 7319,7193M
85963 7319,7193M
85964 7319,7193M
85967 7319,7193M
85968 7319,7193M
90134 7319,7193M
90135 7319,7193M
90136 7319,7193M
90170 7319,7193M
90171 7319,7193M
90184 7319,7193M
90185 7319,7193M
90195 7319,7193M
90208 7319,7193M
90219 7319,7193M
90227 7319,7193M
90230 7319,7193M
90245 7319,7193M
90248 7319,7193M
90256 7319,7193M
90281 7319,7193M
90282 7319,7193M
90289 7319,7193M
90290 7319,7193M
90298 7319,7193M
90305 7319,7193M