I would start by saying that I do not like your prior. What would happen if you saw train $6000$?
But let's do the calculation as you have set the problem: if this is a uniform distribution then the prior is $\pi(n) = \frac{1}{1000}$ for $1 \le n \le 1000$ and the likelihood of seeing train $60$ is $\Pr(60|n)= \frac{1}{n}\mathbb{1}_{n\ge 60}$ so the posterior is $$\pi(n|60)=\frac{\frac{1}{1000n}}{ \sum_{m=60}^{1000}\frac{1}{1000m}} = \frac{1}{n (H_{1000}-H_{59})} \approx \frac{ 0.3543251}{n}$$ for $60 \le n \le 1000$ and so the expected value is about $0.3543251 \times 941 \approx 333.4$ as you say.
If your prior had been uniform in $[1,100]$ you would have had an expected value of about $78.2$; if it had been uniform in $[1,10000]$ you would have had an expected value of about $1939.9$. So the sensitivity to your prior is clear.
Doing more trainspotting can be treated in the same way: let's assume it is without replacement to avoid the question of whether seeing a train once makes it more likely to be seen again. The prior is the same. The likelihood of seeing trains $60, 30, 90$ is $\Pr(60, 30, 90|n)= \frac{1}{n(n-1)(n-2)}\mathbb{1}_{n\ge 90}$ so the posterior is $$\pi(n|60, 30, 90)=\frac{\frac{1}{1000n(n-1)(n-2)}}{ \sum_{m=90}^{1000}\frac{1}{1000m(m-1)(m-2)}} \approx \frac{15787.77}{1000n(n-1)(n-2)}$$ and the expected value is about $163.6$ (or about $94.7$ or $176.4$ with the other priors; it would have been about $164.3$ if I had used sampling with replacement, showing that that assumption was less critical than the prior).