Faits : A. B._ et C._ sont locataires d'un appartement propriété de la Fondation A._. Tel est aussi le cas de D._, E._, F._ et G._. Les deux appartements sont au bénéfice de subventions fédérales au sens de la LCAP (loi fédérale du 4 octobre 1974 encourageant la construction et l'accession à la propriété de logements, RS 843). B. Le 19 février 2014, les locataires B._ et C._ ont ouvert action contre la bailleresse devant le Tribunal des baux du canton de Vaud, concluant à ce que les décomptes des frais accessoires 2009/10 à 2011/12 soient corrigés selon précisions à fournir en cours d'instance, à ce qu'il soit constaté qu'aucune convention spéciale au sens de l'art. 257a al. 2 CO n'a été conclue au sujet des frais accessoires facturés et enfin, à ce que la bailleresse soit condamnée au remboursement immédiat de 15'679 fr. 91, correspondant à dix ans de frais accessoires payés à tort. Le 28 février 2014, les locataires D._, E._, F._ et G._ ont également ouvert action contre la bailleresse devant la même autorité, avec des conclusions identiques. Les deux causes ont été jointes. La bailleresse a conclu principalement à l'irrecevabilité des demandes, au motif qu'elles seraient de la compétence exclusive de l'Office fédéral du logement (OFL). A titre subsidiaire, elle a conclu au rejet. Par décision incidente du 21 octobre 2014, le Tribunal des baux a admis sa compétence pour connaître des demandes. Le 27 avril 2015, statuant sur appel de la bailleresse, la Cour d'appel civile du Tribunal cantonal vaudois a confirmé cette décision. C. La bailleresse (ci-après: la recourante) saisit le Tribunal fédéral d'un recours en matière civile, dans lequel elle conclut à ce que les demandes soient déclarées irrecevables et à ce que les locataires (ci-après: les intimés) soient éconduits d'instance et invités à saisir l'OFL. Les intimés concluent au rejet du recours. Recourante et intimés ont de leur propre chef déposé une seconde écriture. L'autorité précédente s'est référée à son arrêt.