Citation: 6B_1364/2023 E. 9

Le recours doit être partiellement admis, le jugement attaqué annulé et la cause renvoyée à la cour cantonale pour nouvelle décision dans le sens des considérants (cf. supra consid. 8.5). Pour le reste, le recours doit être rejeté dans la mesure de sa recevabilité, étant précisé que le recourant ne conteste pas la mesure de l'expulsion. L'admission étant liée à l'insuffisance de l'état de fait, il est statué sans déterminations préalables (ATF 133 IV 293 consid. 3.4.2). Le recourant, qui obtient partiellement gain de cause, peut prétendre à des dépens réduits, à la charge du canton de Vaud (art. 68 al. 1 LTF). Sa demande d'assistance judiciaire est sans objet dans cette mesure. Elle doit être admise pour le surplus, les conditions en étant réunies (art. 64 al. 1 LTF). En conséquence, il est dispensé des frais de procédure et Me Ludovic Tirelli, désigné en qualité d'avocat d'office (art. 64 al. 2 LTF), est indemnisé. Par ces motifs, le Tribunal fédéral prononce :