Faits: A. A.a Du 1er décembre 1995 au 30 novembre 1997, R._ a bénéficié d'un délai-cadre d'indemnisation de l'assurance-chômage. Son gain assuré a été fixé à 3'600 fr. Par contrat de travail du 1er avril 1996, l'assurée a été engagée par F._, titulaire de la raison individuelle T._, à L._ dont les actifs et passifs ont par la suite été repris par la société T._ à L._ également. Elle travaillait en qualité de secrétaire et il était prévu qu'elle perçoive un salaire de 1000 fr. par mois, à raison d'un taux d'occupation de "30% (environ 12 heures par semaine)". En janvier 1998, elle a épousé F._. Pour la période courant dès le mois d'avril 1996, la Caisse cantonale vaudoise de chômage (ci-après: la Caisse) a indemnisé R._ en prenant en considération un gain intermédiaire de 150 fr. à 1'000 fr. par mois conformément aux attestations établies par l'employeur. A.b Le 30 septembre 1998, le Service de l'emploi du canton de Vaud a nié le droit aux indemnités de chômage de R._ avec effet rétroactif au 1er avril 1996. Il a constaté que le gain intermédiaire déclaré n'était pas conforme, pour le travail effectué, aux usages professionnels et locaux, R._ ayant réalisé un surplus de travail important "à titre bénévole". Le Tribunal administratif vaudois a rejeté le recours de l'assurée par jugement du 28 février 2005. Cette dernière a déféré la cause au Tribunal fédéral des assurances. Par arrêt du 18 juillet 2006 (cause C 107/05), celui-ci a annulé le jugement du Tribunal administratif vaudois ainsi que la décision du Service de l'emploi et a renvoyé la cause à ce dernier afin qu'il "détermine le montant des gains intermédiaires réalisés (en partie fictivement) par la recourante correspondant au salaire déclaré à l'assurance-chômage, ainsi qu'à un gain conforme aux usages professionnels et locaux pour une activité supplémentaire à 45%". A.c Parallèlement à cette procédure, la Caisse a réclamé à R._ la restitution de 41'231 fr. 20, par décision du 14 octobre 1998. D'après la Caisse, ce montant correspondait aux indemnités touchées à tort du 1er avril 1996 au 30 novembre 1997. R._ s'est opposée à la restitution par acte du 12 novembre 1998. Après avoir pris connaissance de l'arrêt du Tribunal fédéral des assurances du 18 juillet 2006, la Caisse a réduit ses prétentions. Par décision du 16 avril 2007, elle a demandé à R._ la restitution de la somme de 33'949 fr., en précisant que cette décision annulait et remplaçait celle du 14 octobre 1998. La Caisse a maintenu cette demande de restitution par décision sur opposition du 6 décembre 2007. B. R._ a déféré la cause au Tribunal des assurances du canton de Vaud en invoquant notamment la péremption de la créance dont se prévalait la Caisse. Par jugement du 16 juin 2009, les juges cantonaux ont rejeté le recours et réformé la décision litigieuse au détriment de l'assurée; ils ont condamné cette dernière à restituer un montant 36'371 fr. 35 au lieu de 33'949 fr. C. R._ a formé un recours en matière de droit public contre ce jugement. Elle en demande la réforme en ce sens que soit constatée l'absence de créance de la Caisse en restitution des prestations allouées entre 1996 et 1997. L'intimée s'en est remise à justice et le Secrétariat d'État à l'économie (SECO) a renoncé à se déterminer.