[2] Hijo de padre chileno y madre noruega,[3] Castro comenzó su carrera jugando como juvenil en el Manglerud Star.
Hizo su debut en la primera división noruega en abril de 2016 en contra del Stabaæk.
[6] Para estos encuentros Castro no se encontraba habilitado para jugar por la roja, pues a esa fecha no poseía aún la nacionalidad chilena.
El 6 de noviembre de 2020 fue incluido en la nómina dada a conocer por la ANFP para disputar los partidos eliminatorios frente a Perú y Venezuela.
[7] El 13 de noviembre debutó ante la selección peruana tras reemplazar al minuto 83 a Mauricio Isla.