W styczniu 2012 Castillo został piłkarzem drużyny Club Tijuana, gdzie od razu zagwarantował sobie pozycję podstawowego bocznego defensora. W jesiennym sezonie Apertura 2012 zdobył z ekipą prowadzoną przez argentyńskiego trenera Antonio Mohameda pierwsze w historii klubu, zaś drugie w swojej karierze mistrzostwo Meksyku, będąc jednym z czołowych bocznych obrońców w lidze, a ogółem w barwach Tijuany spędził niemal trzy lata. W lipcu 2014 podpisał umowę z zespołem Club Atlas z siedzibą w Guadalajarze, gdzie występował jako podstawowy zawodnik przez rok bez większych osiągnięć, po czym przeniósł się do prowadzonej przez Mohameda ekipy CF Monterrey. W sezonie Clausura 2016 wywalczył z nią tytuł wicemistrza Meksyku.
W styczniu 2018 został wypożyczony na rok (cały sezon w Major League Soccer) do amerykańskiego Colorado Rapids, gdzie występuje na pozycji wahadłowego skrzydłowego lub lewego obrońcy. Pierwszy mecz w barwach Rapids rozegrał 21 lutego 2018 w Lidze Mistrzów CONCACAF przeciwko Toronto FC. W lidze (MLS) zadebiutował 3 marca 2018 w meczu przeciwko NE Revolution. Rozegrał cały sezon 2018 jako podstawowy zawodnik Colorado Rapids i został wykupiony przez klub z Monterrey.
Na początku 2019 roku został piłkarzem New England Revolution na zasadzie bezpośredniej wymiany (trade). W jej wyniku do Colorado Rapids trafił Kelyn Rowe.