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 = 7340 
WHERE 
  cscart_products_categories.product_id IN (
    86891, 91868, 92227, 92210, 85577, 85576, 
    85584, 85592, 85571, 85573, 85574, 
    91877, 91878, 91879, 91880, 91881, 
    91882, 91883, 85555, 85594, 85564, 
    90025, 85575, 86889, 87888, 92185, 
    85561, 86893, 85553, 85559
  ) 
GROUP BY 
  cscart_products_categories.product_id

Query time 0.01524

JSON explain

{
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "108.30"
    },
    "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": 120,
            "rows_produced_per_join": 120,
            "filtered": "100.00",
            "using_index": true,
            "cost_info": {
              "read_cost": "12.30",
              "eval_cost": "12.00",
              "prefix_cost": "24.30",
              "data_read_per_join": "1K"
            },
            "used_columns": [
              "product_id",
              "category_id",
              "link_type"
            ],
            "attached_condition": "(`nuie_scalesta_net`.`cscart_products_categories`.`product_id` in (86891,91868,92227,92210,85577,85576,85584,85592,85571,85573,85574,91877,91878,91879,91880,91881,91882,91883,85555,85594,85564,90025,85575,86889,87888,92185,85561,86893,85553,85559))"
          }
        },
        {
          "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": 120,
            "filtered": "100.00",
            "cost_info": {
              "read_cost": "30.00",
              "eval_cost": "12.00",
              "prefix_cost": "66.30",
              "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": 6,
            "filtered": "5.00",
            "cost_info": {
              "read_cost": "30.00",
              "eval_cost": "0.60",
              "prefix_cost": "108.30",
              "data_read_per_join": "15K"
            },
            "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
85553 7157M,7341,7342,7343
85555 7157M,7341,7342,7343
85559 7157M,7341,7342,7343
85561 7157M,7341,7342,7343
85564 7157M,7341,7342,7343
85571 7157M,7341,7342,7343
85573 7157M,7341,7342,7343
85574 7157M,7341,7342,7343
85575 7157M,7341,7342,7343
85576 7157M,7341,7342,7343
85577 7157M,7341,7342,7343
85584 7157M,7341,7342,7343
85592 7157M,7341,7342,7343
85594 7157M,7341,7342,7343
86889 7157M,7341,7342,7343
86891 7157M,7341,7342,7343
86893 7157M,7341,7342,7343
87888 7157M,7341,7342,7343
90025 7157M,7341,7342,7343
91868 7157M,7341,7342,7343
91877 7157M,7341,7342,7343
91878 7157M,7341,7342,7343
91879 7157M,7341,7342,7343
91880 7157M,7341,7342,7343
91881 7157M,7341,7342,7343
91882 7157M,7341,7342,7343
91883 7157M,7341,7342,7343
92185 7157M,7341,7342,7343
92210 7157M,7341,7342,7343
92227 7157M,7341,7342,7343