[1] He made his professional debut in 2014 with the Arizona League Indians and spent the whole season there, batting .239 with two home runs and 11 RBIs in 43 games.
In 2017, Castro played for Lynchburg where he batted .290 with a career-high 11 home runs along with 58 RBIs, 19 stolen bases and a .761 OPS.
On July 31, 2018, Castro was traded to the Detroit Tigers in exchange for Leonys Martín and Kyle Dowdy.
[7] On September 22, Castro hit his first major league home run off Josh Osich of the Chicago White Sox.
Castro made the 2021 Tigers team out of spring training and played in his first opening-day game at the major league level.
[11] Castro was recalled to the major league roster on July 22 to replace the injured Isaac Paredes.