Кастильо начал карьеру выступая за команды низших дивизионов Эквадора ЭСПОЛ и «Норте Америка». В 2007 году он перешёл в фрам-клуб мексиканской «Толуки» — «Атлетико Мексикансе», где провёл два сезона. Летом 2010 года Миллер перешёл в Лобос БУАП. 18 июля в матче против «Веракрус» он дебютировал за новую команду[2]. 22 августа в поединке против дублёров «Атланте» Кастильо сделал «дубль», забив свои первые голы за Лобос БУАП[3].
Летом 2012 года Миллер вернулся на родину, присоединившись к «Депортиво Куэнка». 21 июля в матче против «Индепендьенте дель Валье» он дебютировал в эквадорской Примере[4]. В поединке против ЛДУ Кито Кастильо забил свой первый гол за «Депортиво Куэнка». В 2013 году он недолго выступал за «Текнико Университарио».
В начале 2014 года Кастильо перешёл в «Манту». 1 марта в матче против «Универсидад Католика» из Кито он дебютировал за новую команду[5]. 31 августа в поединке против «Универсидад Католика» Миллер забил свой первый гол за «Манта»[6]. 9 ноября в матче против ЛДУ Кито он сделал хет-трик[7].
В начале 2015 года Миллер перешёл в ЛДУ Кито. 1 февраля в матче против «Эль Насьональ» он дебютировал за новую команду[8]. Через неделю в поединке против «Аукас» Кастильо забил свой первый гол за ЛДУ Кито[9]. В своём дебютном сезоне он помог клубу завоевать серебряные медали. В начале 2016 года Кастильо перешёл в «Индепендьенте дель Валье». 5 марта в матче против «Эмелека» он дебютировал за новую команду[10]. 29 июня в поединке против «Машук Руна» Миллер забил свой первый гол за «Индепендьенте дель Валье»[11]. В том же году он помог клубу выйти в финал Кубка Либертадорес.
В начале 2017 года Кастильо вернулся в Мексику подписав контракт с «Алебрихес де Оахака». 8 февраля в матче против «Мурсилагос» он дебютировал за новую команду[12]. 2 апреля в поединке против «Дорадос де Синалоа» Миллер забил свой первый гол за «Алибрихес де Оахака»[13].