Кастильо пришел в португальский клуб из мексиканский команды «УНАМ Пумас», за которую в сезоне 2017/18 он сыграл 24 матча и забил 12 голов. Сумма трансфера составила 6,85 миллиона евро.
Отметим, что Кастильо во второй раз отправляется в Европу. В 2014-2015 годах он играл за «Брюгге», после чего выступал в аренде в «Майнце» и «Фрозиноне». Вместе с «Брюгге» форвард стал обладателем Кубка Бельгии (2015).
В составе сборной Чили Кастильо провел 12 матчей и забил один гол. В 2016 году он стал победителем Кубка Америки, реализовав один из послематчевых пенальти в финале с Аргентиной.