Comments: For $n=10,$ here is an approximate answer $(0.5988 \pm 0.0005)$ from
a simulation in R. With a million iterations, one
expect two (maybe three) place accuracy.
set.seed(2021)
stay = replicate(10^6, sum(1:5==sample(1:10)[1:5]))
mean(stay)
[1] 0.498965 # aprx n/2 = 5
mean(stay==0)
[1] 0.598818 # aprx answer
sd(stay==0)/1000
[1] 0.000490138 # aprx 95% margin of sim error for ans
table(stay)/10^6
stay
0 1 2 3 4 5
0.598818 0.315199 0.075046 0.010108 0.000795 0.000034
Notes: The most likely outcome is that none of the
first five 'stay' in place.
It is trivial to see that the answer for $n=2$ is $1/2.$
And enumeration is within reach for $n=4.$
Using indicator variables one can see that the mean number staying in place
among $1,2 \dots n/2$ is $n/2.$ (But indicator variables
are not independent, so getting the variance is not so easy.)
I suppose an analytic solution to your question for general $n$ would require use of the inclusion-exclusion rule.