Citation: 6B_710/2023 E. 8

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. 5 et 6). Pour le reste, le recours doit être rejeté dans la mesure de sa recevabilité. 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). Puisqu'il succombe partiellement, il supportera une partie des frais judiciaires (art. 66 al. 1 LTF). Par ces motifs, le Tribunal fédéral prononce :