Citation: 6B_1247/2021 E. 5

En définitive, le recours doit être partiellement admis (cf. consid. 4.5.3 supra), dans ses conclusions subsidiaires. Pour le reste, le recours doit être rejeté (cf. consid. 4.1 à 4.4 supra). La recourante, qui obtient partiellement gain de cause, peut prétendre à des dépens réduits, à la charge du canton de Neuchâtel (art. 68 al. 1 LTF). Elle supportera une partie des frais judiciaires, fixés en tenant compte de sa situation financière qui n'apparaît pas favorable (art. 66 al. 1 LTF). L'assistance judiciaire ayant été accordée à l'intimé, il n'a pas à supporter de frais judiciaires (art. 64 al. 1 LTF); son avocat d'office a droit à une indemnité à verser par la caisse du Tribunal fédéral (art. 64 al. 2 LTF). Par ces motifs, le Tribunal fédéral prononce :