Faits :
A.
A.a. Par jugement du 24 février 2016, le Tribunal correctionnel de l'arrondissement de Lausanne a condamné - par défaut - A._, pour vol, vol par métier, tentative de vol en bande et dommages à la propriété qualifiés, à une peine privative de liberté de cinq ans, peine entièrement complémentaire à celle prononcée le 14 mars 2014 en Norvège.
A.b. A._ a été arrêté aux Pays-Bas le 14 janvier 2019 et a fait l'objet d'une procédure extraditionnelle.
Par la suite, le prénommé a demandé un nouveau jugement, conformément à l'<ref-law>.
Par ordonnance du 30 juillet 2019, le Président du Tribunal d'arrondissement de Lausanne a ordonné la détention de A._ pour des motifs de sûreté.
A.c. Durant les débats de première instance tenus le 28 août 2019, A._ a intégralement admis les faits décrits dans l'acte d'accusation du 30 septembre 2014, lequel avait la teneur suivante :
"1. A B._, Place C._, le 16 mai 2002, vers 03h41, après avoir brisé la vitrine de la bijouterie D._ à l'aide d'une masse, A._ et un ou des comparses à ce jour non identifiés ont dérobé des bijoux se trouvant en exposition dans la vitrine pour un montant total de 119'257 fr. 25. [...]
2. A E._, rue F._, le 24 juin 2002, vers 03h13, après avoir brisé la vitrine de la bijouterie G._ au moyen d'une masse, A._ et deux comparses à ce jour non identifiés ont dérobé neuf montres et un pendentif qui étaient exposés dans la vitrine et qui avaient un prix total de 238'500 fr. [...]
3. A H._, rue I._, le 19 juillet 2002, vers 01h00, après avoir brisé la vitrine de l'horlogerie-bijouterie J._ au moyen d'une masse, A._ et deux comparses à ce jour non identifiés ont soustrait des bijoux et des montres se trouvant en exposition dans la vitrine pour un prix total de 54'917 fr. 90. [...]
4. A K._, L._, le 22 juillet 2002, vers 00h00, après avoir brisé la vitrine de la bijouterie M._ à l'aide d'une masse, A._ et deux comparses à ce jour non identifiés ont soustrait dans la vitrine des montres pour un prix total de 197'050 fr. et des bijoux pour un prix total de 56'390 francs. [...]
5. A N._, Place O._, sur un parking public, le 6 octobre 2002 entre 14h00 et 17h00, A._ et un ou des comparses à ce jour non identifiés ont dérobé la voiture Audi, coupé Quattro, immatriculée n° xxx, qui appartenait à P._ et qui n'était pas en parfait état. Le téléphone portable Nokia 3330 habituellement utilisé par la fille de P._, une paire de baskets pour femme, et 6 CD de musique se trouvaient alors dans le véhicule. [...]
6. A E._, rue Q._, le 13 novembre 2002, vers 04h18, après avoir brisé la vitrine de la bijouterie R._ au moyen d'une masse, A._ et un ou des comparses à ce jour non identifiés ont dérobé deux alliances, deux paires de boucles d'oreilles et vingt montres d'un prix total de 138'400 fr., qui étaient exposés dans la vitrine. [...]
7. A S._, rue T._, le 16 décembre 2002 vers 02h09, A._ et U._ (déféré séparément) ont brisé deux vitrines de la bijouterie V._ avec un outil indéterminé et ont dérobé des montres, des bijoux et divers accessoires pour un prix total de 366'945 francs. Les dommages occasionnés aux deux vitrines (deux vitres de sécurité) s'élèvent à 20'000 francs. [...]
8. A E._, Quai W._, le 6 février 2003, vers 21h39, après avoir brisé deux vitrines de la bijouterie X._ au moyen de deux masses meulées en pointe et qui avaient été soudées à leur extrémité afin d'augmenter la force de pénétration, A._ et deux comparses à ce jour non identifiés ont dérobé dix montres d'un prix total de 253'100 fr. qui étaient exposées dans les vitrines. [...]
9. A Y._, rue Z._, le 25 mars 2003, vers 00h50, A._ et deux comparses à ce jour non identifiés ont tenté en vain de dérober des biens dans la bijouterie A1._, en essayant de briser deux vitrines au moyen de deux masses. IIs ont pris la fuite à la vue de passants. Les vitrines ont été fissurées. Le prévenu et ses comparses circulaient à bord d'une voiture Audi coupé Quattro immatriculée n° yyy dérobée dans le canton de Berne, qui a été retrouvée la nuit même. [...]
10. A B1._, avenue C1._, le 15 juillet 2003, vers 03h25, après avoir brisé la vitrine de la bijouterie D1._ au moyen d'une masse pointue, A._ et un ou des comparses à ce jour non identifiés ont dérobé neuf montres et deux bagues, qui étaient exposées en vitrine, d'un prix total de 62'682 francs. [...] "
Par jugement du 28 août 2019, le Tribunal correctionnel de l'arrondissement de Lausanne a condamné A._, pour vol par métier, tentative de vol en bande, vol en bande et dommages à la propriété qualifiés, à une peine privative de liberté de trois ans, peine entièrement complémentaire à celle prononcée le 14 mars 2014 en Norvège. Il a en outre ordonné le maintien de l'intéressé en exécution anticipée de peine.
A.d. A._ a formé appel contre ce jugement.
A.e. S'appuyant sur un arrêt 6B_389/2019 du 28 octobre 2019, A._ a, par courrier électronique du 21 novembre 2019, demandé sa libération immédiate, au motif que sa détention était illicite, toutes les infractions qui lui étaient reprochées étant prescrites au regard de la jurisprudence précitée.
Par ordonnance du 25 novembre 2019, la Présidente de la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a libéré immédiatement le prénommé, pour autant que ce dernier ne dût pas être détenu pour un autre motif.
B.
Par jugement du 7 avril 2020, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a partiellement admis l'appel formé par A._ contre le jugement du 28 août 2019 et a réformé celui-ci en ce sens que le prénommé est acquitté, les frais de la procédure de première instance, par 46'795 fr. 85, étant mis à sa charge. La cour cantonale a par ailleurs constaté que A._ avait subi 12 jours de détention illicite et a dit que l'Etat de Vaud devait lui verser une indemnité de 2'400 fr. à titre de réparation du tort moral. Elle a de surcroît dit que l'Etat de Vaud devait verser à l'intéressé une indemnité de 3'303 fr. 70 pour le dommage économique subi au titre de sa participation obligatoire à la procédure pénale. La cour cantonale a enfin mis les frais d'appel, par 6'342 fr. 20, pour un tiers à la charge de A._, le solde étant laissé à la charge de l'Etat, a dit que ce dernier ne serait tenu de rembourser à l'Etat le tiers de l'indemnité allouée à son défenseur d'office que lorsque sa situation financière le permettrait, et a dit que les émoluments de première instance et d'appel mis à la charge du prénommé sont compensés avec l'indemnité allouée pour le dommage économique subi.
La cour cantonale a retenu les faits suivants.
A._ est né en 1975 en Serbie, pays dont il est ressortissant. Selon ses déclarations, il a rencontré son épouse dans ce pays, en 2015. De cette union sont issus deux enfants. Avant son incarcération, le prénommé oeuvrait comme travailleur détaché pour le compte d'une société active dans le domaine de la construction. Son incarcération a eu pour conséquence la perte de son emploi.
A._ a été détenu du 14 janvier au 25 novembre 2019, d'abord en détention extraditionnelle, puis en détention pour des motifs de sûreté et en exécution anticipée de peine.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 7 avril 2020, en concluant, avec suite de frais et dépens, principalement à sa réforme en ce sens que les frais de la procédure de première instance sont mis à sa charge, par 33'447 fr. 80, pour autant que sa situation financière le permette, et sont laissés par 6'829 fr. 20 à la charge de l'Etat, qu'il est constaté qu'il a subi 317 jours de détention injustifiée, que l'Etat de Vaud doit lui verser une indemnité de 63'400 fr., avec intérêts, à titre de réparation du tort moral, que l'Etat de Vaud doit en outre lui verser une indemnité de 21'991 fr. 20, avec intérêts, pour le dommage économique subi au titre de sa participation obligatoire à la procédure pénale, que les frais de la procédure d'appel sont intégralement laissés à la charge de l'Etat, et que les émoluments de première instance mis à sa charge sont compensés à raison de 4'000 fr. au maximum avec l'indemnité qui lui est allouée pour le dommage économique subi. Subsidiairement, il conclut à son annulation et au renvoi de la cause à l'autorité précédente pour nouvelle décision. Il sollicite par ailleurs le bénéfice de l'assistance judiciaire.

Considérant en droit :
1.
Le recourant conteste la mise à sa charge des frais de la procédure de première instance.
1.1. Conformément à l'<ref-law>, lorsque la procédure fait l'objet d'une ordonnance de classement ou que le prévenu est acquitté, tout ou partie des frais de procédure peuvent être mis à sa charge s'il a, de manière illicite et fautive, provoqué l'ouverture de la procédure ou rendu plus difficile la conduite de celle-ci. La condamnation d'un prévenu acquitté à supporter tout ou partie des frais doit respecter la présomption d'innocence, consacrée par les art. 32 al. 1 Cst. et 6 par. 2 CEDH. Celle-ci interdit de rendre une décision défavorable au prévenu libéré en laissant entendre que ce dernier serait néanmoins coupable des infractions qui lui étaient reprochées. Une condamnation aux frais n'est ainsi admissible que si le prévenu a provoqué l'ouverture de la procédure pénale dirigée contre lui ou s'il en a entravé le cours. A cet égard, seul un comportement fautif et contraire à une règle juridique, qui soit en relation de causalité avec les frais imputés, entre en ligne de compte. Pour déterminer si le comportement en cause est propre à justifier l'imputation des frais, le juge peut prendre en considération toute norme de comportement écrite ou non écrite résultant de l'ordre juridique suisse pris dans son ensemble, dans le sens d'une application par analogie des principes découlant de l'<ref-law>. Le fait reproché doit constituer une violation claire de la norme de comportement. Une condamnation aux frais ne peut se justifier que si, en raison du comportement illicite du prévenu, l'autorité était légitimement en droit d'ouvrir une enquête. Elle est en tout cas exclue lorsque l'autorité est intervenue par excès de zèle, ensuite d'une mauvaise analyse de la situation ou par précipitation. La mise des frais à la charge du prévenu en cas d'acquittement ou de classement de la procédure doit en effet rester l'exception (<ref-ruling> consid. 2.2 p. 204 s. et les références citées).
1.2. La cour cantonale a exposé que le profil ADN du recourant avait, pour l'essentiel des cas, été trouvé sur les lieux des infractions ou à proximité de ceux-ci. En outre, le recourant avait admis l'ensemble des faits qui lui étaient reprochés dans l'acte d'accusation du 30 septembre 2014. L'intéressé, en commettant les actes en question, avait provoqué, de manière illicite et fautive, l'ouverture de la procédure pénale. Il devait donc supporter l'ensemble des frais de la procédure de première instance.
1.3. Le recourant ne conteste pas avoir commis les agissements qui lui ont été reprochés dans l'acte d'accusation du 30 septembre 2014. Il admet par ailleurs que la commission des actes en question a provoqué l'ouverture de la procédure pénale, dès 2002, et reconnaît que les frais de procédure en lien avec l'instruction et le jugement par défaut pouvaient être mis à sa charge.
Le recourant soutient en revanche qu'il n'aurait aucunement causé, de manière illicite et fautive, les frais de procédure postérieurs au 16 juillet 2018, soit postérieurs à la prescription de l'action pénale.
1.3.1. Dans l'arrêt 6B_389/2019 précité, publié aux <ref-ruling>, le Tribunal fédéral a rappelé que, dans un arrêt 6B_82/2009 du 14 juillet 2009, il avait indiqué - en faisant application de l'art. 72 ch. 2 al. 1 aCP - que la prescription de l'action pénale devait être considérée comme suspendue pendant la durée de validité d'un jugement par défaut. Il avait déjà alors relevé que l'institution de la suspension de la prescription - telle qu'elle ressortait de l'ancien <ref-law> - avait été supprimée par la réforme entrée en vigueur le 1er octobre 2002 et que la question ne se posait donc pas dans les mêmes termes s'agissant d'actes commis postérieurement à cette date (cf. <ref-ruling> consid. 3.4.3 p. 65 s.; arrêt 6B_82/2009 précité consid. 4.3.1 et 4.3.6). Le Tribunal fédéral a, pour la première fois, dans l'arrêt publié aux <ref-ruling>, résolu la question posée selon les termes du droit actuel, en estimant qu'un jugement par défaut - au sens des <ref-law> - n'était considéré comme un jugement de première instance au sens de l'<ref-law> qu'à la condition résolutoire qu'aucune demande de nouveau jugement ne soit déposée ultérieurement et que le jugement par défaut ne soit pas remplacé par un nouveau jugement (consid. 3.4.5 p. 66 s.).
1.3.2. Le recourant prétend que les autorités pénales auraient, en raison d'une mauvaise application du droit, considéré que le jugement par défaut du 24 février 2016 avait interrompu la prescription de l'action pénale s'agissant des infractions qui lui étaient reprochées et qu'il ne pourrait être tenu responsable des frais de procédure engendrés par cette erreur.
Ce raisonnement ne saurait être suivi. En effet, si la cour cantonale a considéré que la prescription de l'action pénale avait été atteinte avant le jugement du 28 août 2019, elle ne l'a fait qu'au regard de l'arrêt publié aux <ref-ruling>. Contrairement à ce que suggère le recourant, on ne peut admettre qu'une telle issue aurait été prévisible et que les autorités pénales auraient dû renoncer à le poursuivre alors même que la jurisprudence précitée n'avait pas été rendue. La question de l'effet d'un jugement de première instance rendu par défaut sur le cours de la prescription de l'action pénale, au regard de l'<ref-law>, n'avait alors pas été résolue dans la jurisprudence fédérale. Dans un arrêt publié aux <ref-ruling>, le Tribunal fédéral avait indiqué - en s'appuyant sur les explications comprises dans le message du Conseil fédéral du 21 septembre 1998 concernant la modification du CP (dispositions générales, entrée en vigueur et application du code pénal) et du CPM ainsi qu'une loi fédérale régissant la condition pénale des mineurs (FF 1999 1787 ss) - qu'on entendait notamment par "jugement de première instance", au sens de l'<ref-law>, respectivement 70 al. 3 aCP, un jugement rendu par défaut (consid. 1.4.1 p. 66 s.).
Le recourant lui-même, assisté par un défenseur d'office, n'a pas soutenu que la prescription de l'action pénale était atteinte lors du jugement du 28 août 2019. Dans sa déclaration d'appel du 10 octobre 2019, il a exclusivement pris des conclusions en lien avec la peine et le sursis à l'exécution, en se contentant d'évoquer la question de la prescription eu égard à la lex mitioret non à son interruption par un jugement de première instance rendu par défaut (cf. pièce 113/1 du dossier cantonal). Enfin, dans un courrier du 1er novembre 2019, le recourant a précisé - par l'intermédiaire de son défenseur d'office - qu'il était parti du principe, à la lecture de l'arrêt 6B_82/2009 précité, qu'un jugement par défaut suspendait la prescription de l'action pénale entre la date dudit jugement et celle du nouveau jugement venant s'y substituer, cette opinion n'ayant été altérée que par la lecture de l'arrêt 6B_389/2019 précité, publié aux <ref-ruling> (cf. pièce 122 du dossier cantonal).
1.4. Au vu de ce qui précède, il n'apparaît pas que les frais de procédure jusqu'au jugement du 28 août 2019 auraient résulté d'une intervention des autorités pénales constitutive d'un excès de zèle, ou ni découlé d'une mauvaise analyse de la situation ou d'une précipitation. Ces frais étaient au contraire toujours la conséquence des agissements illicites et fautifs du recourant, qui ont occupé les autorités pénales dès 2002 et jusqu'au nouveau jugement, rendu à la demande de l'intéressé le 28 août 2019. La cour cantonale n'a donc pas violé le droit fédéral en mettant l'intégralité des frais de la procédure de première instance à la charge du recourant. Le grief doit être rejeté.
2.
Le recourant conteste l'indemnité qui lui a été allouée en raison de la détention subie.
2.1. Selon l'<ref-law>, si le prévenu est acquitté totalement ou en partie ou s'il bénéficie d'une ordonnance de classement, il a droit à une indemnité pour les dépenses occasionnées par l'exercice raisonnable de ses droits de procédure (let. a), à une indemnité pour le dommage économique subi au titre de sa participation obligatoire à la procédure pénale (let. b), à une réparation du tort moral subi en raison d'une atteinte particulièrement grave à sa personnalité, notamment en cas de privation de liberté (let. c).
L'<ref-law> permet à l'autorité pénale de réduire ou refuser l'indemnité prévue par l'<ref-law>, lorsque le prévenu a provoqué illicitement et fautivement l'ouverture de la procédure ou a rendu plus difficile la conduite de celle-ci. L'<ref-law> est le pendant de l'<ref-law> en matière de frais. La question de l'indemnisation (art. 429 à 434 CPP) doit être traitée après celle des frais. Dans cette mesure, la décision sur les frais préjuge de la question de l'indemnisation (<ref-ruling> consid. 1.2 p. 272; <ref-ruling> consid. 2.4.2 p. 357; arrêt 6B_1319/2019 du 18 août 2020 consid. 2.1 non destiné à la publication).
Aux termes de l'<ref-law>, si le prévenu a, de manière illicite, fait l'objet de mesures de contrainte, l'autorité pénale lui alloue une juste indemnité et réparation du tort moral. La mesure de contrainte est illicite, au sens de cette disposition, si - lorsque celle-ci est ordonnée ou exécutée - les conditions matérielles ou formelles ressortant des <ref-law> ne sont pas remplies (arrêts 6B_1055/2019 du 17 juillet 2020 consid. 3.3; 6B_1273/2019 du 11 mars 2020 consid. 4.3.1; 6B_365/2011 du 22 septembre 2011 consid. 3.2 non publié aux ATF <ref-ruling>).
2.2. La cour cantonale a exposé que le recourant avait été détenu préventivement du 14 janvier au 25 novembre 2019. Cette période de détention n'avait pas été tout d'abord illicite, puisqu'elle avait reposé - avant que le Tribunal fédéral rendît l'arrêt 6B_389/2019 précité, publié aux <ref-ruling> - sur la jurisprudence selon laquelle un jugement par défaut pouvait interrompre la prescription de l'action pénale au sens de l'<ref-law>. La détention du recourant n'était ainsi devenue illicite qu'à compter du "revirement de jurisprudence du Tribunal fédéral sur ce point".
L'autorité précédente a ajouté que l'arrêt 6B_389/2019 précité, publié aux <ref-ruling>, n'avait été publié sur le site Internet du Tribunal fédéral que le 14 novembre 2019, qu'il avait dès lors été possible de constater que la prescription de l'action pénale était atteinte, et que la détention du recourant était devenue illicite. Par conséquent, selon la cour cantonale, seule la période de détention comprise entre le 14 et le 25 novembre 2019 - soit 12 jours - devait être considérée comme illicite. La détention licite subie par le recourant ne devait quant à elle pas donner lieu à indemnisation, dès lors que ce dernier avait provoqué l'ouverture de la procédure pénale. L'autorité précédente a en définitive accordé au recourant une indemnité de 200 fr. par jour de "détention illicite" subi. Elle lui a encore octroyé, pour la période du 14 au 25 novembre 2019 ainsi que pour la période ultérieure durant laquelle le recourant est demeuré sans emploi - soit pendant 53 jours au total -, une indemnité fondée sur l'<ref-law>.
2.3. Comme le relève le recourant, on ne voit pas que ce dernier aurait été détenu illicitement dans le cadre de la présente procédure. Les conditions tant matérielles que formelles de la détention ont constamment été remplies, le recourant admettant par ailleurs ne jamais avoir connu des conditions de détention illicites. En particulier, après la condamnation du recourant par jugement du 28 août 2019, ce dernier a été maintenu en détention afin d'exécuter de manière anticipée la peine privative de liberté prononcée, conformément à l'<ref-law>. Cette détention n'est pas devenue illicite en raison de la publication, par le Tribunal fédéral, de l'arrêt 6B_389/2019 précité, publié aux <ref-ruling>. En effet, le recourant était alors toujours détenu en raison de sa condamnation à une peine privative de liberté par le tribunal de première instance et n'avait pas encore bénéficié de l'acquittement prononcé par la cour cantonale, même si une telle issue était devenue prévisible dès la publication de la jurisprudence en question.
Le recourant a néanmoins été privé de liberté avant de bénéficier finalement d'un acquittement complet. Il a ainsi fait l'objet d'une détention injustifiée, pouvant en principe donner lieu à indemnisation sur la base de l'art. 429 al. 1 let. c CPP. Or, l'autorité précédente a considéré, à bon droit, que le recourant avait provoqué illicitement et fautivement l'ouverture de la procédure et qu'il convenait de lui refuser toute indemnité en raison de la détention injustifiée subie, sur la base de l'<ref-law>. On peut relever, à cet égard, que le recourant a lui-même rendu plus difficile le cours de la procédure, en se soustrayant aux autorités pénales après la commission des infractions qui lui ont été reprochées. Il ne saurait donc tirer argument du temps écoulé entre sa fuite et le moment de son arrestation puis de son nouveau jugement par le tribunal de première instance.
C'est donc sans violer le droit fédéral que la cour cantonale a refusé d'accorder au recourant une indemnité fondée sur l'art. 429 al. 1 let. c CPP.
2.4. Pour les mêmes motifs (cf. consid. 2.3 supra), l'autorité précédente pouvait refuser d'accorder au recourant une indemnité fondée sur l'<ref-law>, en s'appuyant sur l'<ref-law>. Cette dernière disposition consacrant une " Kann-Vorschrift ", la cour cantonale pouvait cependant, sans violer le droit fédéral, allouer au recourant une indemnité pour le dommage économique subi. C'est donc en vain que le recourant qualifie le raisonnement de l'autorité précédente de "contradictoire" et tente de présenter son résultat comme "arbitraire".
Compte tenu de ce qui précède, les indemnités accordées au recourant par la cour cantonale sur la base de l'<ref-law>, respectivement de l'<ref-law>, sont acquises à l'intéressé. Le recourant ne saurait en revanche prétendre obtenir des indemnités supplémentaires, dès lors que l'autorité précédente aurait pu, comme dit précédemment, lui refuser toute indemnité sur la base de l'<ref-law>. Le grief doit être rejeté.
3.
Le recourant reproche à la cour cantonale d'avoir dit que les frais des procédures de première instance et d'appel mis à sa charge seraient - en application de l'<ref-law> - partiellement compensés avec l'indemnité lui ayant été allouée à titre de l'<ref-law>. Selon lui, une partie de la créance portant sur les frais de procédure serait atteinte par la prescription (cf. <ref-law>), dès lors que certains desdits frais ont été engagés dès l'année 2002.
Cette argumentation tombe à faux. Tout d'abord, le recourant perd de vue que, selon l'art. 442 al. 2 1ère phrase CPP, les créances portant sur les frais de procédure se prescrivent par dix ans à compter du jour où la décision sur les frais est entrée en force.
Au demeurant, le recourant soutient que les frais de procédure postérieurs à l'année 2010 pourraient de toute manière faire l'objet d'une compensation. Dès lors qu'il chiffre lui-même à 4'000 fr. le montant censé pouvoir être en tous les cas compensé et que la cour cantonale lui a alloué une indemnité de 3'303 fr. 70 à titre de l'<ref-law>, on ne voit pas que l'intéressé aurait pu obtenir une réduction de la somme compensée sur la base de l'<ref-law>. Le grief doit être rejeté.
4.
Le recours doit être rejeté. Comme il était dénué de chances de succès, la demande d'assistance judiciaire doit être rejetée (<ref-law>). Le recourant, qui succombe, supportera les frais judiciaires, fixés en tenant compte de sa situation (art. 65 al. 2 et 66 al. 1 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 4 septembre 2020
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
Le Greffier : Graa