Citation: 6B_45/2023 E. 7

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. 1.4.3, 1.4.4 et 4.4). 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 :