↑ Количество игр и голов за профессиональный клуб считается только для различных лиг национальных чемпионатов, обновлено по состоянию на 6 октября 2024 года.
↑ Количество игр и голов за национальную сборную в официальных матчах, обновлено по состоянию на 5 сентября 2024 года.
Летом 2017 года клуб второго дивизиона чемпионата Уругвая «Торке» арендовал Кастельяноса на полтора года с возможностью выкупа[3]. В первом же матче за «селесте» забил гол, 1 сентября 2017 года поучаствовав в разгроме «Депортиво Мальдонадо» со счётом 4:0. В составе клуба в сезоне 2017 одержал победу во втором дивизионе и вышел в высший дивизион Уругвая. Летом 2018 года «Торке» выкупил Кастельяноса у «Универсидад де Чили».
27 июля 2018 года Кастельянос был арендован клубом MLS «Нью-Йорк Сити» до конца сезона 2018 с опцией выкупа[4][5]. Забил гол в дебютном матче в составе нью-йоркского клуба, во встрече против «Ванкувер Уайткэпс» 4 августа[6][7]. По окончании сезона 2018 «Нью-Йорк Сити» активировал опцию выкупа Кастельяноса из «Торке»[8][9].
В феврале 2020 года Кастельянос получил грин-карту и в MLS перестал считаться иностранным игроком[10]. В восьми матчах октября и ноября 2020 года забил шесть голов и отдал три голевые передачи, в том числе три гола и одну голевую передачу в дерби против «Нью-Йорк Ред Буллз» 1 ноября, за что был назван игроком месяца в MLS[11][12].
13 мая 2021 года Кастельянос подписал с «Нью-Йорк Сити» новый пятилетний контракт, до конца сезона 2025[13][14]. В августе 2021 года забил четыре мяча и отдал две результативные передачи, и во второй раз удостоился звания игрока месяца в MLS[15]. Забив шесть голов и отдав одну голевую передачу в четырёх последних матчах регулярного чемпионата, был назван игроком месяца в MLS за октябрь — ноябрь 2021 года[16]. По итогам сезона 2021 Кастельянос выиграл «золотую бутсу» лучшего бомбардира MLS с 19-ю голами, опередив Олу Камару, забившего столько же, по дополнительному показателю, голевым передачам — восемь против пяти[17][18], и был включён в символическую сборную MLS[19].
17 апреля 2022 года в матче против «Реал Солт-Лейк» оформил покер[20][21], за что был назван игроком недели в MLS[22][23]. Был отобран на Матч всех звёзд MLS 2022[24], но из-за отъезда в Европу не сыграл в шоу-матче.
25 июля 2022 года Кастельянос отправился в аренду в клуб испанской Ла Лиги «Жирона» до конца сезона 2022/23[25][26][27]. Дебютировал за «Жирону» 14 августа в матче стартового тура сезона против «Валенсии»[28]. 22 августа в матче против «Хетафе» забил свой первый гол за «Жирону»[29][30]. 25 апреля 2023 года сделал покер в ворота «Реал Мадрид», став первым за 75 лет игроком, забившим «Реалу» более трёх мячей в матче чемпионата Испании[31][32].
21 июля 2023 года Кастельянос перешёл в клуб итальянской Серии A «Лацио»[33] за рекордную для «Нью-Йорк Сити» сумму. Также американский клуб получит процент от его возможной продажи в будущем[34][35]. Финансовые подробности сделки не были раскрыты, но согласно множеству сообщений «Лацио» заплатил за игрока около $16,7 млн (€15 млн)[36]. За римский клуб он дебютировал 20 августа в матче стартового тура сезона 2023/24 против «Лечче», выйдя на замену на 88-й минуте вместо Данило Катальди[37]. 8 октября в матче против «Аталанты» забил свой первый гол за «Лацио»[38]