You are correct that it is good enough to solve the problem for the standard normal distribution and then extend results to more general distributions from there.
The top 10% of a normal distribution cannot be normal. It is a right-skewed distribution. In the illustration below, it is the the part of the distribution to the right of the vertical red line.

You can use a simulation program to approximate the
mean and variance of the values in a standard normal
distribution above the 90th percentile, which is at
$1.281552.$
qnorm(.90)
[1] 1.281552
However, you will need a very large simulated sample to get a good approximation. In the R program below, I take a sample of a million standard normal observations (vector z), throw away the lower 90% and find the mean and standard deviation of the remaining 10% in the right tail of the
distribution in the vector x.
z = rnorm(10^6); x = z[z > qnorm(.90)]
length(x); mean(x); median(x); var(x)
[1] 99630 # about 100,000 observations retained
[1] 1.75691 # aprx E(X)
[1] 1.645981 # aprx Med(X) = 1.6448
[1] 0.1705936 # aprx Var(X)
qnorm(.95)
[1] 1.644854 # 95th percentile of Z
The approximate mean is 1.76, the approximate variance
is 0.171.
As a check on the simulation, I also found
the median as 1.646, while the exact answer has to be
the 95th percentile of standard normal, which is 1.645. Typical of many right-skewed distributions,
notice that the mean is somewhat larger than the median.
Based on the 99,630 (approximately 100,000) retained
observations, the simulation should be accurate to
about two decimal places.
If this is an problem in a course, maybe you are supposed to use a method other than simulation to get exact answers. If you want to read more about this type of problem, this is called a 'truncated normal distribution'.
Addendum: Here is a method of numerical integration in R for the mean of this truncated normal that does not use simulation.
integrand = function(x){x*10*dnorm(x)}
integrate(integrand, qnorm(.9), Inf)
1.754983 with absolute error < 8.4e-06
That is, if $f(z) = 10\varphi(z)$ for $z \in (1.281552, \infty),$ as in my Comment prompted by @Marco Bellocchi, then the code above provides
an evaluation of $$\int_{1.281552}^\infty zf(z)\, dz = 1.754983.$$ So we see that the value 1.75691 above from simulation is correct within the margin of simulation error.
I suppose that mathematical software such as Matlab also does such numerical approximations of integrals.