Swoją karierę piłkarską Castelletto rozpoczynał w juniorach takich klubów jak: Brétigny Foot (2002-2010) i AJ Auxerre (2010-2012). W 2012 roku zaczął grać w rezerwach Auxerre, a 5 kwietnia 2013 zadebiutował w pierwszym zespole w Ligue 2 w zremisowanym 0:0 wyjazdowym meczu z Gazélec Ajaccio. Zawodnikiem Auxerre był do końca sezonu 2014/2015.
W lipcu 2015 Castelletto przeszedł za kwotę 800 tysięcy euro do belgijskiego Club Brugge. W zespole Brugge swój debiut zaliczył 14 sierpnia 2015 w zwycięskim 2:1 domowym meczu z KV Kortrijk. W sezonie 2015/2016 został z Brugge mistrzem Belgii.
W trakcie sezonu 2015/2016 Castelletto został wypożyczony do Royalu Mouscron-Péruwelz. W nim swój debiut zanotował 6 lutego 2016 w przegranym 0:1 domowym spotkaniu z KRC Genk. W Royalu spędził pół roku.
Latem 2016 Castelletto wypożyczono do Red Star FC. Zadebiutował w nim 12 sierpnia 2016 w przegranym 0:3 domowym meczu ze Stade Brestois 29. W Red Star grał przez rok.
W 2017 roku Castelleto przeszedł do Stade Brestois 29. Swój debiut w nim zaliczył 4 sierpnia 2017 w przegranym 1:2 wyjazdowym spotkaniu z AC Ajaccio. W sezonie 2018/2019 awansował ze Stade Brestois do Ligue 1.
W lipcu 2020 Castelleto przeszedł na zasadzie wolnego transferu do FC Nantes. Zadebiutował w nim 30 sierpnia 2020 w wygranym 2:1 domowym meczu z Nîmes Olympique.
Castelletto grał w młodzieżowych reprezentacjach Francji na szczeblach U-16, U-17, U-18, U-19 i U-20. W 2017 roku wystąpił z kadrą U-17 na Mistrzostwach Europy U-17. W reprezentacji Kamerunu zadebiutował 11 listopada 2017 w zremisowanym 2:2 meczu eliminacji do MŚ 2018 z Zambią, rozegranym w Ndoli. W 2022 roku został powołany do kadry na Puchar Narodów Afryki 2021. Wraz z Kamerunem zajął 3. miejsce na tym turnieju. Rozegrał na nim cztery mecze: grupowy z Etiopią (4:1), w 1/8 finału z Komorami (2:1), ćwierćfinałowy z Gambią (2:0) i półfinałowy z Egiptem (0:0, k. 1:3).