Faits: A. C._ a été inscrite auprès de la Caisse cantonale neuchâteloise d'assurance-chômage (ci-après: la caisse) du 1er septembre 2003 au 9 février 2005, avant de prendre un nouvel emploi le 10 février 2005. Elle a bénéficié d'un programme d'emploi temporaire en qualité d'employée polyvalente à 60 % du 6 septembre 2004 au 9 février 2005. Informé par l'Office régional de placement du Littoral neuchâtelois que la prénommée n'avait pas accepté un emploi assigné, le Service cantonal de l'emploi du canton de Neuchâtel a prononcé, le 3 janvier 2005, une suspension de son droit aux indemnités de chômage pour une durée de 31 jours. L'assurée n'a pas fait opposition à cette décision. Par décision du 1er avril 2005, la caisse a exigé de C._ la restitution d'un montant de 1'644 fr.75 représentant 22 indemnités de chômage perçues à tort durant le mois de novembre 2004. Elle a considéré que la suspension aurait dû prendre effet au 1er novembre 2004, de sorte que l'assurée avait indûment perçu des prestations durant le mois en question. Par ailleurs, la caisse a compensé une partie de la somme susmentionnée, soit 661 fr.55, avec les indemnités de chômage dues pour la période du 1er au 9 février 2005 et une autre partie, soit 401 fr.60, avec des frais de repas et de déplacement encore dus pour les mois d'octobre 2004 à janvier 2005 dans le cadre du programme d'emploi temporaire. Enfin, elle exigeait la restitution du solde après compensation par 581 fr.60. Le 18 avril 2005, l'assurée a fait opposition à cette décision et demandé la remise de l'obligation de restituer les prestations indûment perçues. La demande de remise, sur laquelle il n'a pas été statué, a été transmise au service cantonal de l'emploi. Par décision du 27 juin 2005, la caisse a rejeté l'opposition. Elle a indiqué que les jours de suspension auraient dû, en principe, produire effet sur les mois de janvier et février 2005, mais qu'à la suite d'une erreur, le système informatique avait comptabilisé ladite suspension en novembre 2004. C._ a recouru contre la décision sur opposition devant le Département de l'économie du canton de Neuchâtel (ci-après: le département), lequel a partiellement admis le recours en ce sens que le montant à restituer a été réduit à 1'243 fr.15. Le département a considéré que la prise en charge des frais de déplacement et de repas assumés par l'intéressée lors de son programme d'emploi temporaire relevait du droit des subventions et non pas de prestations d'assurance sociale. La prise en charge des frais, avancés par l'assurée, ne pouvait donc pas faire l'objet d'une restitution (décision du 12 octobre 2005). B. La caisse a recouru devant le Tribunal administratif du canton de Neuchâtel contre cette dernière décision. La juridiction cantonale a admis le recours par jugement du 21 janvier 2008. Elle a annulé la décision attaquée et les décisions précédentes « en tant qu'elles portent sur la compensation d'une partie du montant total à restituer avec des prestations et des frais de repas ». Les premiers juges ont considéré que le montant à restituer était effectivement de 1'644 fr.75, correspondant à 22 indemnités touchées à tort, conformément à la décision sur opposition du 27 juin 2005. En revanche, en ce qui concerne la compensation, celle-ci ne pouvait pas avoir lieu avant qu'il eût été statué sur la demande de remise et, le cas échéant, seulement à la condition qu'elle ne portât pas atteinte au minimum vital de l'intéressée. C. Le Secrétariat d'Etat à l'économie (seco) interjette un recours en matière de droit public, en concluant, sous suite de frais et dépens, à l'annulation du jugement cantonal, subsidiairement, à la confirmation de la compensation effectuée par la caisse. L'intimée conclut au rejet du recours, tandis que la caisse propose son admission. D. Par ordonnance du 15 mai 2008, le juge instructeur a rejeté la requête d'effet suspensif présentée par le recourant.