Faits :
A.
A.a. Par contrat des 19 et 27 mai 2009, A._ et B._ ont pris à bail un appartement de trois pièces et demie d'environ 97 m2, correspondant à une part d'étage qui appartenait à E._, dans un immeuble sis à..., pour un loyer initial de 1'500 fr., charges en sus. Le bail porte également sur une place de parc intérieure et sur une place de parc extérieure. En 2012, ils ont pris à bail une seconde place de parc intérieure et ont restitué la place de parc extérieure. Le contrat a été conclu pour la durée initiale du 1 er juillet 2009 au 30 juin 2012, se renouvelant ensuite tacitement pour un an, puis de trois mois en trois mois, sauf avis de résiliation donné par l'une ou l'autre des parties trois mois à l'avance.
La formule officielle de notification du loyer initial pour la conclusion d'un nouveau bail n'a pas été remise aux locataires.
C._ et D._ sont devenus propriétaires de la part d'étage le 2 mars 2010 et le bail leur a passé en vertu de l'<ref-law>.
A.b. Une première procédure, de baisse de loyer, a opposé les parties.
Le 5 décembre 2011, les locataires ont sollicité une réduction de leur loyer net à 1'380 fr. 60 dès le 1er juillet 2012, en raison de la baisse du taux hypothécaire de référence et de l'indice suisse des prix à la consommation. Les bailleurs n'ont que partiellement admis la demande de baisse, soit à 1'426 fr., par courrier du 3 janvier 2012.
Le 31 janvier 2012, les locataires ont consulté X._ en vue de préparer la réponse à donner à leurs bailleurs. À cette occasion, ils étaient munis d'un exemplaire du contrat de bail qu'ils ont présenté au consultant juridique de X._.
Par courrier du 1 er février 2012, préparé par ce dernier, les locataires ont demandé une baisse plus importante, à 1'340 fr.
Le même jour, les locataires ont saisi la Commission de conciliation en matière de baux à loyer du district du Gros-de-Vaud d'une requête de conciliation, sollicitant une baisse de loyer de 160 fr. (à 1'340 fr.) et indiquant que leur dossier était suivi par X._.
Par courrier du 2 février 2012, les bailleurs ont rectifié leur précédent courrier du 3 janvier 2012 et accepté une baisse du loyer à 1'358 fr.
Le 13 février 2012, les locataires ont accepté cette proposition et ont retourné aux bailleurs un exemplaire contresigné de leur courrier.
Le même jour, ils ont informé la Commission de l'accord passé (c'est-à-dire de cette transaction judiciaire) et ont " retiré " leur requête, ce dont la Commission a pris acte par ordonnance du 14 février 2012.
A.c. Puis, une seconde procédure, de résiliation (ordinaire) du bail, a opposé les locataires aux bailleurs.
Le 31 octobre 2012, D._ a communiqué aux locataires une résiliation ordinaire de leur contrat de bail pour le 31 mars 2013.
Les locataires ont consulté X._ le 12 novembre 2012.
Les locataires ont saisi la Commission de conciliation d'une requête tendant à la constatation de la nullité de cette résiliation, respectivement à son annulation.
Les locataires étaient assistés d'une consultante de X._ lors de l'audience de conciliation devant la Commission le 29 janvier 2013, audience au cours de laquelle la question du loyer initial n'a pas été abordée.
Une proposition de jugement a été rendue par la Commission. Cette proposition de jugement n'ayant pas été acceptée par les locataires, la Commission leur a délivré une autorisation de procéder.
Le 11 avril 2013, les locataires, agissant par l'intermédiaire d'un avocat, ont déposé leur demande devant le Tribunal des baux du canton de Vaud, concluant à la nullité, subsidiairement à l'annulation de la résiliation et, plus subsidiairement, à la prolongation de leur bail jusqu'au 31 mars 2017.
Le 3 septembre 2013, le procès a pris fin par acquiescement de D._ à l'action en nullité de la résiliation ordinaire.
B.
B.a. Dans l'intervalle, le 24 avril 2013, les locataires ont introduit une troisième procédure devant la Commission de conciliation, concluant (préjudiciellement) à la constatation de la nullité du loyer initial, faute de notification de la formule officielle, à la fixation du loyer initial à 900 fr. dès le 1 er juillet 2009 et au remboursement des parts de loyer perçues en trop depuis le 1er juillet 2009.
La conciliation ayant échoué et une autorisation de procéder leur ayant été délivrée, les locataires ont déposé leur demande contre les bailleurs et l'ancien propriétaire E._ devant le Tribunal des baux le 6 septembre 2013. Ils ont conclu notamment (préjudiciellement) à la constatation de la nullité du loyer initial, à la fixation du loyer à 900 fr. dès le 1 er juillet 2009, montant qu'ils ont ensuite modifié à 750 fr., et à la restitution du trop-perçu. Les loyers des places de parc ont également fait l'objet de plusieurs modifications de conclusions.
Les locataires, qui n'ont pas reçu la formule officielle de notification du loyer initial, invoquent la nullité du loyer initial et l'invalidité de la transaction passée au sujet de la baisse de loyer le 13 février 2012. Ils font valoir qu'ils n'ont eu connaissance de la nullité du loyer en raison du défaut de communication de la formule officielle qu'en mars 2013 lorsqu'ils ont consulté leur avocat dans le cadre de la résiliation ordinaire du bail; ils ont signé la procuration de celui-ci le 12 mars 2013 et ont ouvert action par requête de citation en conciliation le 24 avril 2013.
Les bailleurs défendeurs ont conclu au rejet de la demande, invoquant l'abus de droit; ils ont soulevé l'exception de prescription. Ils ont appelé en cause l'ancien propriétaire E._.
Par courrier aux bailleurs du 9 janvier 2014, les locataires ont déclaré invalider l'accord passé le 13 février 2012 au sujet de la baisse de loyer, invoquant leur ignorance, à la date de la transaction, de la nullité du loyer initial.
Le Tribunal des baux a tenu deux audiences, au cours desquelles il a interrogé comme témoins les deux consultants de X._, puis une audience de jugement le 11 septembre 2014.
Par jugement du 13 novembre 2014, le Tribunal des baux a rejeté la demande.
Statuant le 5 février 2016, la Cour d'appel civile du Tribunal cantonal a rejeté l'appel formé par les demandeurs et confirmé le jugement de première instance.
B.b. Contre cet arrêt cantonal, les locataires demandeurs ont exercé un recours en matière civile au Tribunal fédéral, soutenant que la cour cantonale aurait dû constater différents faits en relation avec le contenu des entretiens qui ont eu lieu à X._ et qu'elle aurait dû retenir qu'ils ont appris que le loyer initial était nul uniquement au mois de mars 2013, lorsqu'ils ont consulté leur avocat. Ils ont soutenu avoir agi dans le délai d'un an et qu'il n'y avait pas d'abus de droit de leur part.
Le Tribunal fédéral a statué le 10 juillet 2017 (arrêt 4A_254/2016) sur le recours en matière civile des demandeurs. Il a admis ce recours, annulé l'arrêt attaqué et renvoyé la cause à la Cour d'appel pour nouvelle décision.
Par arrêt du 26 janvier 2018, la Cour d'appel a annulé le jugement du 13 novembre 2014 et renvoyé la cause au Tribunal des baux pour nouveau jugement.
B.c. Agissant derechef par la voie du recours en matière civile, les demandeurs ont attaqué cet arrêt (cantonal) de renvoi. Selon leur exposé, la Cour d'appel a adressé au Tribunal des baux, dans les motifs dudit arrêt, des instructions contraires aux considérants de l'arrêt du Tribunal fédéral, alors que ceux-ci lient la juridiction cantonale.
Par arrêt du 21 juin 2018, le Tribunal fédéral a déclaré le recours irrecevable et rejeté la demande d'assistance judiciaire déposée par les demandeurs (arrêt 4A_223/2018).
B.d. Le Tribunal des baux a repris l'instruction de la cause au mois d'octobre 2018.
Par jugement du 9 mai 2019, il a fixé le loyer mensuel net initial dû par les demandeurs pour leur appartement à 893 fr. 05 du 1er juillet 2009 au 30 juin 2012 (selon les paramètres suivants: taux d'intérêt hypothécaire: 3,5%, indice suisse des prix à la consommation: 108,7 points [avril 2009; base 2000]), charges arrêtées au 31 décembre 2008 (ch. I du dispositif), fixé le loyer mensuel pour le garage loué dans l'immeuble à 58 fr. 90 du 1 er juillet 2009 au 30 juin 2012 sur la base des mêmes paramètres (ch. II), fixé le loyer mensuel net initial pour la place de parc extérieure à 29 fr. 45 du 1er juillet 2009 au 30 juin 2012 sur la base des mêmes paramètres (ch. III), et dit que les parts de loyer payées en trop pour la période concernée, arrêtées à 24'069 fr. 60 devaient être immédiatement restituées aux demandeurs (ch. IV), que le jugement était rendu sans frais judiciaires ni dépens (ch. V) et que toutes autres conclusions étaient rejetées, dans la mesure de leur recevabilité (ch. VI).
Les premiers juges ont retenu que la cause leur avait été renvoyée pour complément d'instruction et nouvelle décision s'agissant exclusivement de la fixation judiciaire du loyer initial du bail et la restitution du trop-perçu entre le début du bail le 1er juillet 2009 et l'entrée en vigueur, le 1er juillet 2012, du loyer tel que fixé par transaction judiciaire. Ils ont dès lors exclu de déterminer un loyer initial pour la période allant au-delà du 30 juin 2012 et, en conséquence, déclaré irrecevables les conclusions des demandeurs (ch. Vbis et VIII) tendant à modifier les montants des loyers à compter du 1er juillet 2012 en raison de l'autorité de la chose jugée (de la transaction judiciaire).
Par arrêt du 5 février 2020, la Cour d'appel civile du Tribunal cantonal vaudois a rejeté l'appel des demandeurs et confirmé le jugement entrepris. Elle a observé que la décision d'irrecevabilité prise par les premiers juges était fondée sur le seul arrêt de renvoi rendu par le Tribunal fédéral qui lie aussi bien les premiers juges que les magistrats cantonaux.
C.
Les demandeurs exercent un recours en matière civile au Tribunal fédéral contre cet arrêt cantonal. Ils reprennent, devant la Cour de céans, les conclusions prises devant les instances cantonales. En substance, les recourants se plaignent de ce que la cour précédente a refusé de reconnaître, pour la période débutant au 1 er juillet 2012, leur droit à obtenir une réduction de loyer (fondée sur la fixation d'un nouveau loyer initial) et le remboursement des parts de loyers payées en trop.
Les recourants ont sollicité l'assistance judiciaire totale.
Les intimés n'ont pas été invités à se déterminer.

Considérant en droit :
1.
Formé en temps utile (art. 100 al. 1 et 45 al. 1 LTF), dirigé contre une décision finale (<ref-law>), rendue sur appel des demandeurs par le tribunal supérieur du canton de Vaud (<ref-law>) dans une affaire relevant du droit du bail (<ref-law>), dont la valeur litigieuse excède 15'000 fr. (<ref-law>), le recours en matière civile est recevable au regard de ces dispositions.
1.1. Le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut s'en écarter que si ces faits ont été établis de façon manifestement inexacte - ce qui correspond à la notion d'arbitraire au sens de l'art. 9 Cst. (<ref-ruling> consid. 4.1.2 p. 62; <ref-ruling> consid. 5.1 p. 356) - ou en violation du droit au sens de l'<ref-law> (<ref-law>), et si la correction du vice est susceptible d'influer sur le sort de la cause (<ref-law>).
1.2. Sous réserve de la violation des droits constitutionnels (<ref-law>), le Tribunal fédéral applique le droit d'office (<ref-law>) à l'état de fait constaté dans l'arrêt cantonal ou, cas échéant, à l'état de fait qu'il aura rectifié. Il n'est toutefois lié ni par les motifs invoqués par les parties, ni par l'argumentation juridique retenue par l'autorité cantonale; il peut donc admettre le recours pour d'autres motifs que ceux invoqués par le recourant, comme il peut le rejeter en opérant une substitution de motifs (<ref-ruling> consid. 1.4 p. 400 et l'arrêt cité).
2.
La question litigieuse est de savoir si le loyer fixé par transaction judiciaire le 13 février 2012, entré en vigueur le 1er juillet 2012, peut simplement être modifié par l'action ultérieure (menée par les demandeurs) tendant à la constatation de la nullité du loyer initial (et à la restitution du trop-perçu) qui couvre une période plus large (débutant au 1er juillet 2009) ou si la modification du loyer transigé ne serait possible que si la transaction avait été (préalablement) annulée par la voie de la révision.
2.1. Les recourants insistent sur le fait que les prétentions matérielles ne sont pas les mêmes: le loyer fixé dans la transaction judiciaire repose sur la baisse du taux hypothécaire, tandis que la présente procédure fait suite à un vice de nature formelle affectant la fixation du loyer initial. Ils considèrent que la transaction reste valable, qu'il n'est toutefois pas nécessaire de procéder par le biais de la révision, mais que le loyer transigé doit simplement être revu (donc réduit) - ou, pour reprendre la terminologie employée par les recourants, que le loyer transigé doit être " en quelque sorte écras[é] " - en tenant compte du loyer initial nouvellement fixé par les autorités cantonales.
2.2. D'après l'<ref-law>, la transaction (judiciaire) passée durant la procédure de conciliation est consignée au procès-verbal et signée par les parties. En vertu de l'<ref-law>, elle a les effets d'une décision entrée en force: elle a force exécutoire (<ref-law>) et est revêtue de l'autorité de la chose jugée (arrêt 4A_254/2016 du 10 juillet 2017 consid. 4.1.1 et la référence aux travaux préparatoires).
La transaction judiciaire au sens des art. 208 et 241 CPC est passée par les parties en cours de procédure, soit directement devant l'autorité ou le juge, soit hors de sa présence, mais pour lui être remise (cf. <ref-law>; arrêt 4A_254/2016 précité consid. 4.1.1 et les auteurs cités).
La transaction judiciaire elle-même, en tant qu'acte juridique des parties, met fin au procès (<ref-ruling> consid. 1.3 p. 134). Le juge se borne à en prendre acte; il ne rend pas de décision judiciaire, même si, formellement, il raye la cause du rôle (<ref-law>). Toutefois, l'invalidité de la transaction judiciaire ne peut être invoquée, notamment pour vice du consentement (<ref-law>), que comme celle d'un jugement, par la voie de la révision (art. 328 al. 1 let. c CPC; arrêt 4A_254/2016 précité consid. 4.1.1).
Selon la jurisprudence, une partie ne peut pas remettre en cause un jugement revêtu de l'autorité de la chose jugée en réclamant dans un second procès des dommages-intérêts fondés sur un comportement dolosif de l'autre partie dans la conduite du premier procès; dans ce cas, elle doit d'abord obtenir l'annulation du premier jugement par la voie de la révision (sur l'ensemble de la question, cf. <ref-ruling> consid. 5.1 p. 150; <ref-ruling> consid. 3 pp. 498-503).
2.3. En l'occurrence, il résulte de l'arrêt de renvoi du Tribunal fédéral que les parties ont conclu, le 13 février 2012, une transaction judiciaire (arrêt 4A_254/2016 précité consid. A.b et 4). Cette transaction, conclue à l'issue de la précédente procédure de baisse de loyer (fondée sur la baisse du taux hypothécaire), fixe le loyer à 1'358 fr. dès le 1 er juillet 2012. Revêtue de l'autorité de la chose jugée, elle règle, à partir de cette date, le loyer dû par les locataires aux bailleurs.
La présente action porte principalement sur la fixation du loyer initial (les locataires, qui invoquent la nullité pour défaut de formule officielle, sollicitant une baisse du loyer à 750 fr.), la restitution des prestations effectuées sans cause n'étant que la conséquence d'une nouvelle fixation du loyer initial (cf. arrêt 4A_254/2016 précité consid. 3.1.3.1).
Lorsque les recourants soulignent que chaque procédure repose sur des prétentions matérielles différentes (pour en inférer d'emblée qu'une révision de la transaction judiciaire n'était formellement pas nécessaire), ils omettent de préciser que, dans l'arrêt de renvoi, le Tribunal fédéral a signalé que l'instance cantonale devait aussi se prononcer sur la contestation du loyer initial au motif que " les périodes de loyers considérées [n'étaient] pas non plus les mêmes " (arrêt 4A_254/2016 précité consid. 4.2.2).
C'est en tenant compte de ces deux éléments que le Tribunal fédéral a considéré que la transaction judiciaire du 13 février 2002 n'interdisait pas au tribunal d'entrer en matière sur l'action en fixation du loyer initial (et, comme conséquence de celle-ci, sur l'action en restitution du trop-perçu).
C'est d'ailleurs dans ce cadre que le tribunal de première instance a prononcé la réduction de loyer jusqu'au 30 juin 2012. Il ne pouvait en revanche pas en prononcer la réduction après cette date: l'application de la baisse de loyer résultant de la contestation du loyer initial durant la période couverte par la transaction judiciaire (depuis le 1 er juillet 2012) ne pouvait se faire sans remettre en question le montant du loyer (déjà) arrêté dans cette transaction. En conséquence, les locataires ne pouvaient obtenir une modification du loyer fixé par transaction judiciaire depuis le 1er juillet 2012 sans obtenir l'annulation de la transaction judiciaire (valant jugement) par la voie de la révision.
Aucun des arguments soulevés par les locataires - qui tentent de convaincre qu'il serait quand même possible, sans passer par une révision, de revenir sur le loyer arrêté dans la transaction judiciaire et de l'adapter (de l'" écraser ") en fonction du loyer résultant de la contestation du loyer initial (intervenue postérieurement) - n'est susceptible de remettre en question cette conclusion. Force est de constater que, pour aller au bout de leur raisonnement, les recourants sont finalement contraints d'user d'une pirouette dialectique - ordonnant au juge de venir " écraser " le loyer fixé dans la transaction judiciaire - qui est l'expression de la faiblesse irréductible entachant leur argumentation, fondée sur un procédé (l'" écrasement ") pour le moins singulier, étranger au système juridique suisse.
On relèvera enfin que la conclusion qui s'impose en l'espèce n'est que le reflet de la décision rendue par le Tribunal fédéral dans son arrêt du 19 février 2019: il avait alors retenu qu'un (premier) jugement revêtu de l'autorité de la chose jugée doit nécessairement être annulé par la voie de la révision si une partie entend réclamer dans un second procès des dommages-intérêts fondés sur un comportement dolosif de l'autre partie dans la conduite du premier procès (<ref-ruling> consid. 5.1 p. 150).
Le moyen soulevé par les recourants est dès lors infondé.
2.4. Les autres critiques, qui reposent sur la prémisse - erronée - qu'une révision de la transaction judiciaire ne serait pas nécessaire, tombent dès lors à faux.
En particulier, c'est en vain que les recourants soutiennent que la décision cantonale favoriserait les bailleurs négligents (qui ont omis de remettre aux locataires la formule officielle de notification de loyer lors de la conclusion du bail), en ce sens que, en cas de contestation ultérieure (et lorsque le loyer a été modifié par jugement - ou transaction judiciaire - en cours de bail), les locataires ne pourraient plus réclamer les montants versés sans cause pour la période postérieure à ce jugement (ou à la transaction judiciaire). Il incombait en effet aux locataires de déposer une demande de révision, dans le délai de 90 jours à compter de la découverte du motif de révision (<ref-law>), ce qui leur aurait ensuite peut-être permis d'obtenir l'annulation de cette transaction et de recouvrer les montants qu'ils estiment avoir versés sans cause pour la période couverte par la transaction judiciaire.
3.
Il résulte des considérations qui précèdent que le recours en matière civile doit être rejeté.
En l'occurrence, la procédure entreprise devant le Tribunal fédéral était dépourvue de chances de succès, ce qui entraîne le rejet de la demande d'assistance judiciaire. Il n'est dès lors pas nécessaire d'examiner si la condition de l'indigence est réalisée.
Il n'est pas alloué de dépens, les intimés n'ayant pas été invités à se déterminer.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La requête d'assistance judiciaire des recourants est rejetée.
3.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis solidairement à la charge des recourants.
4.
Il n'est pas alloué de dépens.
5.
Le présent arrêt est communiqué aux parties et au Tribunal cantonal du canton de Vaud, Cour d'appel civile.
Lausanne, le 17 septembre 2020
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
Le Greffier : Douzals