Faits :
A.
Par jugement du 15 février 2021, le Tribunal correctionnel de l'arrondissement de l'Est vaudois a condamné A._ à une peine privative de liberté de quatre ans, sous déduction de 286 jours de détention avant jugement, ainsi qu'à une amende de 500 fr., convertible en cinq jours de peine privative de liberté en cas de non-paiement fautif, pour séquestration et enlèvement, contrainte sexuelle, ainsi que désagréments causés par la confrontation à un acte d'ordre sexuel. Le tribunal a constaté que A._ avait subi quatre jours de détention provisoire illicite et a ordonné une déduction de deux jours de la peine prononcée à son encontre. Il a également maintenu l'intéressé en détention pour des motifs de sûreté et a ordonné son expulsion du territoire suisse pour une durée de cinq ans. Enfin, il a dit que A._ était le débiteur de B._ de la somme de 5'000 fr. avec intérêt à 5% l'an dès le 5 mai 2020, à titre d'indemnité pour tort moral.
B.
Par jugement du 2 juillet 2021, la Cour d'appel pénale du Tribunal cantonal du canton de Vaud a rejeté l'appel formé par A._ contre le jugement du 15 février 2021 et a confirmé celui-ci.
La cour cantonale a retenu les faits suivants.
B.a. A._ est né en 1974 au Portugal, pays dont il a la nationalité et où il a effectué sa scolarité. II y a par la suite travaillé comme boulanger, puis dans une usine. Il s'est marié en 1992. Deux enfants, nés en 1992 et 1994, sont issus de cette union. En 2006, la famille est venue s'établir en Suisse, où A._ a travaillé dans le domaine de la construction puis comme chauffeur-livreur. Au moment des faits, il bénéficiait de l'assurance-chômage. Quant à son épouse, elle réalisait un revenu mensuel oscillant entre 1'000 fr. et 1'500 fr. pour son activité de femme de ménage. S'agissant de sa fortune, A._ est propriétaire d'un logement au Portugal, dont il estime la valeur à 150'000 francs. Ce bien fait l'objet d'une hypothèque. A._ a indiqué qu'il s'acquittait d'intérêts hypothécaires à hauteur de 500 fr. par mois. Toute sa famille vit en Suisse.
B.b. L'extrait du casier judiciaire suisse de A._ ne comporte aucune inscription.
B.c. Pour les besoins de la présente cause, A._ a été détenu provisoirement dès le 6 mai 2020. À compter du 12 mai 2020, il a intégré la Prison du Bois-Mermet, au sein de laquelle il était toujours détenu au moment de l'audience d'appel.
B.d. Le 4 mai 2020, à U._, A._ a pris en autostop, dans son véhicule de marque C._, B._, née en 1998, patiente de la Fondation D._, qui marchait le long de la route en direction de V._, afin de prendre le bus jusqu'à W._, où elle avait rendez-vous avec son compagnon. En cours de route, A._ lui a dit que si elle avait à nouveau besoin d'être véhiculée à l'avenir, il fallait qu'elle l'appelle; ils ont ainsi échangé leur numéro de téléphone. Lors du trajet, A._ a importuné B._ en posant sa main sur le haut de sa cuisse à plusieurs reprises, la remettant après que la prénommée la lui retirait. Il l'a également touchée, par-dessus les habits, au niveau de la poitrine. A._ a finalement déposé B._ à W._, essayant de l'embrasser sur la bouche au moment de lui dire au revoir.
B.e. Le 5 mai 2020, vers 7h40, B._ a téléphoné à A._ afin de lui demander s'il pouvait la conduire à W._ dans l'après-midi. Plus tard, elle a changé d'avis et l'a rappelé afin de l'en informer. A._ l'a toutefois contactée à plusieurs reprises, sans qu'elle ne lui réponde.
Peu avant 14h30, B._ a quitté la Fondation D._ à pied et a marché le long de la route X._ en direction de V._. En chemin, elle a constaté la présence de A._, qui l'attendait dans son véhicule à proximité de l'arrêt de bus "E._", en dessous de la fondation. A cet endroit, A._ l'a hélée en lui disant: "Viens B._, monte", ce à quoi la plaignante a répondu qu'elle n'en avait pas envie et qu'elle devait aller voir son copain. A._ est alors sorti de sa voiture et a saisi B._ par le bras en le serrant. Tétanisée, cette dernière n'a eu d'autre choix que de prendre place sur le siège passager. A._ a fermé la portière, démarré son véhicule et fait demi-tour en direction de la Fondation D._, avant de s'engager sur un chemin qui partait vers la forêt et de s'arrêter 500 mètres plus loin. A._ est alors descendu de la voiture et a ouvert la portière du côté passager en exhortant B._ de venir à l'arrière. Cette dernière lui a dit qu'elle ne voulait pas. Il a donc réitéré sa demande, à laquelle elle a à nouveau répondu par la négative. A._ l'a alors prise par le bras et sortie de force de la voiture, avant d'ouvrir la portière arrière du véhicule et de la pousser la tête en avant dans l'habitacle. B._ a ainsi été contrainte de s'asseoir sur la banquette arrière gauche avant que A._ n'entre à son tour dans le véhicule. Il s'est assis à côté d'elle, a fermé la portière et lui a ordonné de venir près de lui, ce que la plaignante a refusé. Il a alors essayé de lui enlever son pantalon de force, au point de le déchirer. B._ lui disait qu'elle n'avait pas envie, mais il a insisté. A._ a ensuite relevé la chemise de B._ et baissé son soutien-gorge, afin de laisser apparaître sa poitrine. Il lui a alors léché les seins, tandis qu'elle essayait de le repousser avec ses mains, sans succès. A._ a par la suite essayé de l'embrasser en serrant sa tête entre ses mains. B._ tentait de le repousser et de tourner la tête, mais il la lui tenait fortement et est finalement parvenu à faire entrer sa langue dans sa bouche. Après cela, il lui a ordonné de se mettre à quatre pattes sur la banquette et l'a maintenue par le cou dans cette position, la tête de B._ étant dirigée vers la fenêtre du côté gauche. L'intéressé a alors baissé le pantalon et la culotte de cette dernière jusqu'à ses genoux et s'est déshabillé, avant d'introduire de force son sexe dans son anus, sans préservatif. B._ a eu mal, lui déclarant à plusieurs reprises: "Arrête, tu me fais mal". A._ a toutefois continué à faire des mouvements de va-et-vient durant plusieurs minutes. B._ a tenté d'ouvrir la portière qui se trouvait de son côté, en vain toutefois, A._ lui ayant à cet égard indiqué: "ça ne sert à rien d'essayer, la porte est condamnée". Pendant qu'il la pénétrait analement, le prénommé a également brutalement introduit ses doigts dans son vagin, alors que B._ lui demandait d'arrêter, car cela lui faisait mal.
B.f. A._ a finalement cessé ses agissements et s'est rhabillé lorsqu'une voiture est arrivée et s'est parquée à côté de son véhicule. B._ s'est également rhabillée. A._ a ouvert la portière et est sorti de la voiture, suivi de B._, qui l'a supplié de la ramener à W._. Ils ont ensuite repris place à l'avant du véhicule et A._ l'a conduite à W._, sans échanger un mot.
B.g. Le lendemain de ces faits, B._ s'est soumise à une expertise gynécologique réalisée par le Prof. F._ et le Dr G._, médecins au Centre universitaire romand de médecine légale (ci-après: CURML). Aux termes de leur rapport du 3 juin 2020, ces médecins ont constaté la présence de deux ecchymoses de part et d'autre du cou, de deux discrètes ecchymoses au niveau des deux cuisses et d'une zone de dermabrasions au niveau de la face antérieure de la jambe droite. L'examen gynécologique a en outre mis en évidence un érythème au niveau de la fourchette postérieure de la vulve et un érythème au niveau du pourtour de l'urètre. Selon les médecins du CURML, ce tableau lésionnel était peu spécifique, mais compatible avec la version des faits présentée par B._.
B.h. B._ a déposé plainte le 6 mai 2020 pour les faits susmentionnés.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre le jugement du 2 juillet 2021. Il conclut, à titre principal, avec suite de frais et dépens, à sa réforme en ce sens qu'il est libéré des fins de la poursuite pénale et que l'État de Vaud lui verse la somme de 120'000 fr. avec intérêt à 5% l'an dès le 6 mai 2020, en réparation du tort moral et de la détention illicite. A titre subsidiaire, il conclut à ce que le jugement du 15 février 2021 soit réformé en ce sens qu'il est libéré des chefs de prévention de séquestration et enlèvement et contrainte sexuelle, qu'il est condamné pour désagréments causés par la confrontation à un acte d'ordre sexuel à la peine fixée à dire de justice, qu'il est constaté qu'il a été détenu dans des conditions de détention illicites et injustifiées pendant 313 jours, la moitié de cette durée étant déduite de la peine prononcée et que l'État lui doit immédiat paiement de la somme de 60'000 fr., avec intérêt à 5% l'an dès le 6 mai 2020 en réparation du tort moral et de la détention injustifiée. À titre très subsidiaire, il sollicite le renvoi de la cause à la cour cantonale pour complément d'instruction dans le sens des considérants. Il requiert par ailleurs l'octroi de l'assistance judiciaire.
D.
Invités à se déterminer sur la question des conditions de détention, le ministère public y a renoncé et a conclu au rejet du recours; la cour cantonale a indiqué qu'elle n'entendait pas déposer de déterminations et s'en remettait à l'appréciation du Tribunal de céans.

Considérant en droit :
1.
Dans une section de son mémoire de recours intitulée "Résumé des faits", le recourant présente sa propre version des événements, en introduisant de nombreux éléments qui ne ressortent pas du jugement attaqué, sans toutefois démontrer en quoi la cour cantonale aurait arbitrairement omis de retenir ceux-ci (cf. <ref-law>). Il ne présente de la sorte aucun grief recevable concernant l'établissement des faits par la cour cantonale.
2.
Le recourant reproche à la cour cantonale de ne pas avoir donné suite à ses réquisitions de preuves.
2.1. Le droit d'être entendu, garanti à l'art. 29 al. 2 Cst., comprend notamment celui de produire ou de faire administrer des preuves, à condition qu'elles soient pertinentes et de nature à influer sur la décision à rendre (<ref-ruling> consid. 7.2.2.1 p. 103; <ref-ruling> consid. 4.1 p. 72; <ref-ruling> consid. 2.3 p. 222; <ref-ruling> consid. 6.3.1 p. 299 et les références citées). Le droit d'être entendu n'empêche pas le juge de mettre un terme à l'instruction lorsque les preuves administrées lui ont permis de se forger une conviction et que, procédant de manière non arbitraire à une appréciation anticipée des preuves qui lui sont encore proposées, il a la certitude qu'elles ne pourraient pas l'amener à modifier son opinion. Le refus d'instruire ne viole ainsi le droit d'être entendu des parties que si l'appréciation anticipée de la pertinence du moyen de preuve offert, à laquelle le juge a procédé, est entachée d'arbitraire (<ref-ruling> consid. 3.1.3 p. 435; <ref-ruling> consid. 3.3 p. 64; <ref-ruling> consid. 5.3 p. 236).
Selon l'<ref-law>, la procédure de recours se fonde sur les preuves administrées pendant la procédure préliminaire et la procédure de première instance. L'<ref-law> règle les preuves complémentaires. Ainsi, la juridiction de recours administre, d'office ou à la demande d'une partie, les preuves complémentaires nécessaires au traitement du recours. Le droit d'être entendu, consacré par l'<ref-law>, garantit aux parties le droit de déposer des propositions relatives aux moyens de preuves (al. 1 let. e). Conformément à l'<ref-law>, il n'y a pas lieu d'administrer des preuves sur des faits non pertinents, notoires, connus de l'autorité ou déjà suffisamment prouvés. Cette disposition codifie, pour la procédure pénale, la règle jurisprudentielle déduite de l'art. 29 al. 2 Cst. en matière d'appréciation anticipée des preuves (arrêts 6B_1080/2021 du 8 décembre 2021 consid. 2.1; 6B_249/2021 du 13 septembre 2021 consid. 1.1.2 et les références citées).
2.2. Le recourant reproche d'abord à la cour cantonale d'avoir refusé sa requête tendant à la mise en oeuvre d'une expertise scientifique destinée à comparer la composition de la terre à prélever, respectivement sur les lieux des faits qui lui sont reprochés, sur le chantier à proximité de son domicile et dans l'habitacle de son véhicule de marque C._.
2.2.1. La cour cantonale a conclu qu'il ne serait pas donné suite à cette réquisition de preuve, faute d'être pertinente et nécessaire pour trancher le litige. Tout d'abord, il ne paraissait guère probable que le recourant ait réussi, en traversant à pied un chantier à proximité de son domicile, à salir non seulement son pantalon et ses chaussures, mais également tout l'habitacle de sa voiture, singulièrement la portière arrière droite, le sol devant le siège arrière droit et le sol devant les deux sièges avant, ainsi que les roues de son véhicule. En tout état de cause, même si la terre retrouvée dans son véhicule devait s'avérer être celle provenant dudit chantier, cela ne le disculperait pour autant pas des faits qui lui sont reprochés, dès lors qu'il s'agissait d'un élément de preuve parmi d'autres.
2.2.2. Il convient de rappeler qu'il ressort du jugement attaqué et du dossier que de la terre a été retrouvée sur les deux roues gauches du véhicule du recourant ainsi que dans celui-ci, soit contre la portière arrière droite, au pied du siège arrière droit et des deux sièges avant. Comme le relève le recourant, l'intimée a confirmé que la forêt où avaient eu lieu les faits était boueuse et la présence de boue a été constatée par la police sur les chaussures et le pantalon du recourant. Le recourant a soutenu que la présence de boue sur ses chaussures provenait du fait qu'il avait dû traverser un chantier à proximité de son domicile. Or, si l'on suit le raisonnement du recourant, l'on peine à comprendre, avec la cour cantonale, comment la boue du chantier aurait pu se retrouver sur tout l'habitacle de sa voiture, en particulier sur la portière arrière droite, sur le sol devant le siège arrière, ainsi que sur les roues de son véhicule. En tout état de cause, la cour cantonale pouvait sans arbitraire conclure que la provenance de la terre importait peu et que c'était la localisation des traces de boue aux endroits décrits qui était déterminante puisque celle-ci corroborait le positionnement décrit par l'intimée, à savoir qu'elle se trouvait à quatre pattes la tête contre la portière gauche et que le recourant se tenait derrière elle, à genoux, soit les pieds contre la portière droite.
Dans ces conditions, l'autorité précédente n'est pas tombée dans l'arbitraire en considérant que la mise en oeuvre d'une expertise scientifique n'était pas nécessaire pour trancher le litige. Le grief du recourant est rejeté.
2.3. Le recourant reproche ensuite à la cour cantonale d'avoir rejeté sa demande tendant à la mise en oeuvre d'une expertise médico-légale destinée à déterminer la probabilité qu'un acte de sodomie tel que celui qui lui est reproché puisse ne provoquer aucune lésion traumatique à la victime. A cet égard, il soutient qu'il lui est reproché d'avoir contraint l'intimée à subir l'acte sexuel par voie anale dans les conditions suivantes: "sans lubrifiant; sans préservatif; à une personne dont les jambes sont maintenues serrées par un pantalon baissé à la hauteur des genoux; à une personne non-consentante; qui aurait duré une dizaine de minutes" (mémoire de recours, p. 7).
2.3.1. La cour cantonale a considéré que cette mesure n'apparaissait pas nécessaire compte tenu des éléments figurant d'ores et déjà au dossier, en particulier le rapport établi le 3 juin 2020 par les médecins du CURML. Ces derniers avaient recueilli et retranscrit le récit de l'intimée, y compris le déroulement des pénétrations anales de force sur la banquette arrière, alors que le recourant la maintenait par le cou ou lui tirait les cheveux. Ils avaient également mentionné le fait que, selon l'intimée, le recourant ne portait pas de préservatif et n'avait pas éjaculé. La prise en considération de l'absence de préservatif ressortait également du test de grossesse et du bilan en lien avec les maladies sexuellement transmissibles réalisés, ainsi que du traitement prophylactique entrepris. La cour cantonale a ainsi relevé que c'était ainsi en pleine connaissance des faits reprochés au recourant que les experts avaient conclu que, bien que peu spécifique, le tableau lésionnel était compatible avec la version des faits présentée par l'intimée. En outre, le seul fait que le rapport ne contenait pas la mention explicite de l'absence de lubrifiant n'était pas de nature à remettre en cause son caractère exhaustif, les experts ayant selon une vraisemblance prépondérante tenu pour acquis qu'il n'avait pas été fait usage de lubrifiant. Ainsi, la cour cantonale en a conclu que, dès lors que le rapport d'expertise du 3 juin 2020 prenait pleinement en considération les faits reprochés au recourant, il n'y avait pas lieu d'ordonner une expertise médico-légale.
2.3.2. Le recourant ne démontre pas en quoi la cour cantonale aurait procédé à une appréciation anticipée des preuves arbitraire et tel n'apparaît pas être le cas. Il ne démontre en particulier pas en quoi la cour cantonale aurait déduit des considérations insoutenables du rapport du CURML, étant rappelé que celui-ci a conclu que, bien que peu spécifique, le tableau lésionnel était compatible avec la version des faits présentée par l'intimée. C'est en vain que le recourant soutient que le rapport du CURML portait d'abord sur l'examen médical de l'intimée et n'avait pas comme unique mission de "donner un avis scientifique sur un lien de causalité possible entre les faits reprochés au recourant et les constatations factuelles faites" (mémoire de recours, p. 6). En effet, la mission du CURML consistait notamment à examiner l'intimée et à effectuer un constat de lésions traumatiques et d'agression sexuelle (rapport du CURML, p. 1; pièce 16 du dossier cantonal; <ref-law>). À cet égard, le rapport d'expertise gynécologique a mis en évidence des douleurs au moment de l'introduction du speculum, un érythème au niveau de la fourchette postérieure et un érythème au pourtour de l'urètre; il a également conclu que l'absence de lésion ne permettait pas d'exclure la survenance d'un rapport non consenti. En outre, dans le rapport, les médecins ont notamment constaté la présence de lésions traumatiques pouvant entrer chronologiquement en relation avec les événements décrits, à savoir deux ecchymoses au niveau du cou, qui pourraient être la conséquence d'une saisie au cou au cours des faits, deux ecchymoses au niveau des deux cuisses, qui sont la conséquence d'un traumatisme contondant, et d'une zone de dermabrasions au niveau de la jambe droite, qui évoquent des lésions de grattage (rapport du CURML, p. 7).
Il s'ensuit que la cour cantonale pouvait sans arbitraire refuser d'ordonner une expertise médico-légale, dès lors que le rapport du CURML prenait en considération les faits reprochés au recourant. Le grief est rejeté dans la mesure où il est recevable.
3.
Le recourant soutient que des incertitudes liées aux constatations de fait conduisent à l'admission d'un doute insurmontable qui doit conduire à sa libération pure et simple.
3.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (<ref-law>), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, à savoir, pour l'essentiel, de façon arbitraire au sens de l'art. 9 Cst. Une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable, et cela, non seulement dans sa motivation, mais aussi dans son résultat (<ref-ruling> consid. 1.3.1; <ref-ruling> consid. 1.1; <ref-ruling> consid. 2.3.1). Le Tribunal fédéral n'entre en matière sur les moyens fondés sur la violation de droits fondamentaux, dont l'interdiction de l'arbitraire, que s'ils ont été invoqués et motivés de manière précise (<ref-law>; <ref-ruling> consid. 1.1). Les critiques de nature appellatoire sont irrecevables (<ref-ruling> consid. 1.3.1; <ref-ruling> consid. 1.1). En matière d'appréciation des preuves et d'établissement des faits, il n'y a arbitraire que lorsque l'autorité ne prend pas en compte, sans aucune raison sérieuse, un élément de preuve propre à modifier la décision, lorsqu'elle se trompe manifestement sur son sens et sa portée, ou encore lorsque, en se fondant sur les éléments recueillis, elle en tire des constatations insoutenables (<ref-ruling> consid. 3.6.2; <ref-ruling> consid. 1.1 et les références citées).
Lorsque l'autorité cantonale a forgé sa conviction quant aux faits sur la base d'un ensemble d'éléments ou d'indices convergents, il ne suffit pas que l'un ou l'autre de ceux-ci ou même chacun d'eux pris isolément soit à lui seul insuffisant. L'appréciation des preuves doit en effet être examinée dans son ensemble. Il n'y a ainsi pas d'arbitraire si l'état de fait retenu pouvait être déduit de manière soutenable du rapprochement de divers éléments ou indices. De même, il n'y a pas d'arbitraire du seul fait qu'un ou plusieurs arguments corroboratifs apparaissent fragiles, si la solution retenue peut être justifiée de façon soutenable par un ou plusieurs arguments de nature à emporter la conviction (arrêts 6B_1498/2020 du 29 novembre 2021 consid. 3.1 destiné à la publication; 6B_1118/2021 du 17 novembre 2021 consid. 1.1 et les références citées).
3.2. La présomption d'innocence, garantie par les <ref-law>, 32 al. 1 Cst., 14 par. 2 Pacte ONU II et 6 par. 2 CEDH, ainsi que son corollaire, le principe "in dubio pro reo", concernent tant le fardeau de la preuve que l'appréciation des preuves au sens large (ATF <ref-ruling> consid. 1.1 p. 156; <ref-ruling> consid. 2.2.3.1 p. 349; <ref-ruling> consid. 2a p. 40 s.). En tant que règle sur le fardeau de la preuve, elle signifie, au stade du jugement, que ce fardeau incombe à l'accusation et que le doute doit profiter au prévenu. Comme règle d'appréciation des preuves (sur la portée et le sens précis de la règle sous cet angle, cf. ATF <ref-ruling> consid. 2.2.3.3 p. 351), la présomption d'innocence signifie que le juge ne doit pas se déclarer convaincu de l'existence d'un fait défavorable à l'accusé si, d'un point de vue objectif, il existe des doutes quant à l'existence de ce fait. Il importe peu qu'il subsiste des doutes seulement abstraits et théoriques, qui sont toujours possibles, une certitude absolue ne pouvant être exigée. Il doit s'agir de doutes sérieux et irréductibles, c'est-à-dire de doutes qui s'imposent à l'esprit en fonction de la situation objective. Lorsque l'appréciation des preuves et la constatation des faits sont critiquées en référence à la présomption d'innocence (art. 6 par. 2 CEDH, 32 al. 1 Cst. et 10 CPP), le principe "in dubio pro reo" n'a pas de portée plus large que l'interdiction de l'arbitraire (<ref-ruling> consid. 1.3.1; <ref-ruling> consid. 1.1).
3.3. Les déclarations de la victime constituent un élément de preuve. Le juge doit, dans l'évaluation globale de l'ensemble des éléments probatoires rassemblés au dossier, les apprécier librement (arrêts 6B_1498/2020 du 29 novembre 2021 consid. 3.1 destiné à la publication; 6B_1118/2021 du 17 novembre 2021 consid. 1.3 et les références citées), sous réserve des cas particuliers où une expertise de la crédibilité des déclarations de la victime s'impose (cf. <ref-ruling> consid. 2.4 p. 184). Les cas de "déclarations contre déclarations", dans lesquels les déclarations de la victime en tant que principal élément à charge et les déclarations contradictoires de la personne accusée s'opposent, ne doivent pas nécessairement, sur la base du principe "in dubio pro reo", conduire à un acquittement. L'appréciation définitive des déclarations des participants incombe au tribunal du fond (<ref-ruling> consid. 3.3 p. 127; arrêts 6B_644/2021 du 6 décembre 2021 consid. 1.1; 6B_1498/2020 précité consid. 3.1 et les références citées).
3.4. Le recourant reproche à la cour cantonale d'avoir accordé beaucoup de crédit aux déclarations de l'intimée. Il relève que lors d'une audition, l'intéressée a utilisé 30 fois l'expression "je ne me rappelle plus" ou une expression équivalente.
3.4.1. Il ressort du jugement attaqué que la cour cantonale a considéré que les déclarations de l'intimée, contrairement à celles du recourant, avaient été constantes, détaillées et authentiques. L'intéressée avait réagi immédiatement après les faits, en contactant le curateur de son ami, et s'était rendue à la police après avoir relevé le numéro de plaque d'immatriculation du véhicule du recourant. Dans toutes ses déclarations, l'intimée avait toujours raconté le même récit, ne dissimulant aucun élément. Contrairement à ce que soutenait le recourant, l'intimée n'avait pas élagué sa version des faits en faisant un usage abusif des expressions "je ne me rappelle plus" ou "je ne me souviens plus". Ses auditions avaient été enrichies de nombreux détails et le déroulement général des évènements était demeuré inchangé au cours du temps, ce même le 4 septembre 2020, soit quatre mois après les faits, alors qu'elle admettait ne pas se souvenir de toutes ses déclarations à la police. Selon la cour cantonale, ses difficultés mnésiques à cette occasion pouvaient s'expliquer par l'angoisse qu'elle avait dit éprouver, sollicitant une suspension. On ne décelait par ailleurs aucune contradiction dans ses déclarations, y compris dans celles faites devant le tribunal correctionnel, à une exception. En tout état de cause, il n'apparaissait pas que la perte de souvenirs de certains détails au fil du temps devait être retenu à décharge du recourant. Ce d'autant moins que les troubles de la mémoire de l'intimée pouvaient s'expliquer non pas par une pathologie médicale, mais par sa personnalité et son vécu, l'intéressée ayant notamment déclaré devant le tribunal correctionnel: "Ma tête ne veut pas se souvenir. J'ai déjà vécu une agression et là c'était trop cette deuxième agression, il faut que j'oublie". La cour cantonale a également relevé qu'un infirmier à la Fondation D._ avait mis en avant la personnalité entière de l'intimée, qu'il décrivait comme une personne qui ne fabulait pas, ni n'inventait une histoire de toutes pièces.
3.4.2. Ce raisonnement est convaincant. Le seul fait que l'intimée ait répété à de nombreuses reprises qu'elle ne se souvenait pas de certains détails n'est pas de nature à diminuer la crédibilité de ses déclarations constantes. Contrairement à ce que soutient le recourant, il n'était pas arbitraire de retenir que les "difficultés mnésiques" présentées par l'intimée lors de l'audience de jugement étaient dues à l'angoisse, étant rappelé que celle-ci avait d'ailleurs demandé une suspension d'audience lors de son audition par le ministère public parce qu'elle se sentait angoissée (PV d'audition n° 8, p. 4; <ref-law>), ou étaient dues à son vécu, l'intéressée ayant déjà vécu une agression et souhaitant oublier.
3.5. Le recourant soutient que, comme l'a relevé la cour cantonale, l'examen des relevés des antennes de téléphonie activées par son téléphone portable le jour des faits ne permettait pas d'établir avec précision ses déplacements, mais, tout au plus, qu'il se trouvait aux alentours de la Fondation D._, ce qui n'était pas contesté puisqu'il avait indiqué s'être entretenu avec l'intimée dans son véhicule stationné dans cette région de façon prolongée.
S'il est vrai que les relevés ne permettent pas d'établir avec précision les déplacements du recourant le jour des faits, l'analyse de ceux-ci plaide dans le sens de la version de l'intimée et est en contradiction avec la version des faits fournie initialement par le recourant. Pour le surplus, le recourant ne démontre pas que la cour cantonale aurait fait une appréciation arbitraire de ce moyen de preuve.
3.6. Enfin, contrairement à ce que semble soutenir le recourant, la cour cantonale ne s'est pas uniquement fondée sur les déclarations crédibles de l'intimée, mais a relevé que celles-ci étaient corroborées par plusieurs éléments de preuves matérielles. Tout d'abord, comme susmentionné, le rapport d'expertise a mis en évidence des ecchymoses et dermabrasions, ainsi que des douleurs au moment de l'introduction du spéculum, un érythème au niveau de la fourchette postérieure et un érythème au pourtour de l'urètre (cf. supra consid. 2.3.2). S'agissant des prélèvements réalisés, de la salive a été retrouvée sur les deux seins de l'intimée avec une probabilité d'un sur un milliard que ce ne soit pas celle du recourant. Par ailleurs, les déclarations de l'intimée ont également été confirmées par la présence de son briquet sous le siège arrière gauche du véhicule du recourant, par son pantalon qui était effectivement déchiré à l'entrejambe après les faits, ou encore par la précision qu'elle a apportée au sujet du dysfonctionnement de la portière arrière du véhicule du recourant. En outre, les traces de terre prélevées contre la portière arrière droite du véhicule témoignent également de la configuration décrite par l'intimée (cf. supra consid. 2.2.2). Enfin, l'analyse des relevés des antennes de téléphonie activées par le recourant le jour des faits atteste que celui-ci a attendu l'intimée en contrebas de la Fondation D._ entre 14h00 et 14h30, puis qu'il avait circulé entre 14h31 et 14h39 - activant plusieurs antennes - avant de demeurer durant 20 minutes à la même antenne, à la proximité du lieu des faits.
3.7. Au vu de ce qui précède, en se fondant notamment sur les déclarations constantes et crédibles de l'intimée, la cour cantonale pouvait, sans violer l'interdiction de l'arbitraire ou le principe "in dubio pro reo", conclure que le recourant avait commis les faits reprochés.
4.
Le recourant conteste son expulsion du territoire suisse pour une durée de cinq ans.
4.1. Aux termes de l'art. 66a al. 1 let. g et h CP, le juge expulse de Suisse l'étranger qui est condamné notamment pour contrainte sexuelle ou pour séquestration et enlèvement, quelle que soit la quotité de la peine prononcée à son encontre, pour une durée de cinq à quinze ans.
En l'espèce, le recourant, qui a été reconnu coupable de contrainte sexuelle et de séquestration et enlèvement, remplit donc a priori les conditions d'une expulsion, sous la réserve d'une application de l'<ref-law>, voire également des normes de droit international.
4.2. Selon l'<ref-law>, le juge peut exceptionnellement renoncer à une expulsion lorsque celle-ci mettrait l'étranger dans une situation personnelle grave et que les intérêts publics à l'expulsion ne l'emportent pas sur l'intérêt privé de l'étranger à demeurer en Suisse. À cet égard, il tiendra compte de la situation particulière de l'étranger qui est né ou qui a grandi en Suisse. Les conditions posées par cette disposition sont cumulatives (<ref-ruling> consid. 3.3 p. 339).
La clause de rigueur permet de garantir le principe de la proportionnalité (cf. art. 5 al. 2 Cst.; <ref-ruling> consid. 3.4.2 p. 108; <ref-ruling> consid. 3.3.1 p. 340). Elle doit être appliquée de manière restrictive (<ref-ruling> consid. 3.4.2 p. 108; <ref-ruling> consid. 3.3.1 p. 340). Selon la jurisprudence du Tribunal fédéral (cf. <ref-ruling> consid. 3 p. 108; <ref-ruling> consid. 3.3.2 p. 340 s.), il convient de s'inspirer des critères énoncés à l'art. 31 de l'ordonnance du 24 octobre 2007 relative à l'admission, au séjour et à l'exercice d'une activité lucrative (OASA; RS 142.201). L'art. 31 al. 1 OASA prévoit qu'une autorisation de séjour peut être octroyée dans les cas individuels d'extrême gravité. L'autorité doit tenir compte notamment de l'intégration du requérant selon les critères définis à l'art. 58a al. 1 de la loi fédérale sur les étrangers et l'intégration (LEI; RS 142.20), de la situation familiale, particulièrement de la période de scolarisation et de la durée de la scolarité des enfants, de la situation financière, de la durée de la présence en Suisse, de l'état de santé ainsi que des possibilités de réintégration dans l'État de provenance. Comme la liste de l'art. 31 al. 1 OASA n'est pas exhaustive et que l'expulsion relève du droit pénal, le juge devra également, dans l'examen du cas de rigueur, tenir compte des perspectives de réinsertion sociale du condamné (<ref-ruling> consid. 3.3.2 p. 340 s.; arrêt 6B_1174/2020 du 23 juin 2021 et les références citées). En règle générale, il convient d'admettre l'existence d'un cas de rigueur au sens de l'<ref-law> lorsque l'expulsion constituerait, pour l'intéressé, une ingérence d'une certaine importance dans son droit au respect de sa vie privée et familiale garanti par la Constitution fédérale (art. 13 Cst.) et par le droit international, en particulier l'art. 8 CEDH (arrêts 6B_1035/2021 du 16 décembre 2021 consid. 3.2.1; 6B_627/2021 du 27 août 2021 consid. 4.2.1).
4.3. Selon la jurisprudence, pour se prévaloir du droit au respect de sa vie privée au sens de l'art. 8 par. 1 CEDH, l'étranger doit établir l'existence de liens sociaux et professionnels spécialement intenses avec la Suisse, notablement supérieurs à ceux qui résultent d'une intégration ordinaire. Le Tribunal fédéral n'adopte pas une approche schématique qui consisterait à présumer, à partir d'une certaine durée de séjour en Suisse, que l'étranger y est enraciné et dispose de ce fait d'un droit de présence dans notre pays. Il procède bien plutôt à une pesée des intérêts en présence, en considérant la durée du séjour en Suisse comme un élément parmi d'autres et en n'accordant qu'un faible poids aux années passées en Suisse dans l'illégalité, en prison ou au bénéfice d'une simple tolérance (cf. <ref-ruling> consid. 4.3 p. 24; arrêt 6B_1035/2021 du 16 décembre 2021 consid. 3.2.1 et la référence citée). Un séjour légal de dix années suppose en principe une bonne intégration de l'étranger (<ref-ruling> consid. 3.9 p. 278; arrêt 6B_1035/2021 précité consid. 3.2.1).
Pour qu'un étranger puisse invoquer le droit au respect de sa vie familiale, il faut que la relation entre cet étranger et une personne de sa famille ayant le droit de résider en Suisse (conjoint ou enfant mineur) soit étroite et effective et qu'on ne puisse pas exiger de cette dernière personne qu'elle aille vivre dans le pays étranger en cause. Dans la mesure où ces conditions sont remplies (notamment si le départ du membre de la famille pouvant rester en Suisse ne peut d'emblée être exigé sans autres difficultés), il convient de procéder à la pesée des intérêts prévue par l'art. 8 par. 2 CEDH (cf. <ref-ruling> consid. 4.2; <ref-ruling> consid. 3.1).
4.4. La cour cantonale n'a pas déterminé si l'expulsion du recourant le placerait dans une situation personnelle grave, mais a directement examiné la seconde condition de l'<ref-law>, à savoir la proportionnalité de la mesure. Elle a considéré ce qui suit.
De nationalité portugaise, le recourant était arrivé en Suisse en 2006, à l'âge de 31 ou 32 ans, ayant suivi toute sa scolarité au Portugal et travaillé dans son pays pendant de nombreuses années. Il s'était marié au Portugal et ses enfants y étaient nés. Ceux-ci étaient maintenant majeurs et ne vivaient plus avec lui. Le recourant avait travaillé dans différents domaines en Suisse et était au chômage au moment des faits, si bien que les perspectives de réinsertion en Suisse, sans formation particulière et après une condamnation étaient moindres. Ses parents et frères vivaient au Portugal, où il avait une maison et souhaitait retourner à sa retraite. Il ne maitrisait la langue française ni à l'oral ni à l'écrit, alors que cela faisait 15 ans qu'il était en Suisse et qu'il cherchait à y travailler. En outre, rien ne s'opposait à ce que l'épouse retourne au Portugal avec son mari. Les enfants étaient majeurs et indépendants et pourraient entretenir des liens malgré la distance. La cour cantonale a conclu que l'intérêt personnel du recourant à rester en Suisse ne l'emportait pas sur l'intérêt d'ordre public au vu des infractions retenues contre lui. L'expulsion du recourant pour le minimum légal de cinq ans devait dès lors être confirmée.
4.5. Malgré la durée relativement longue de son séjour en Suisse, le recourant, qui est né au Portugal et y a vécu toute son enfance et une bonne partie de sa vie d'adulte, ne peut pas se prévaloir d'une intégration particulièrement réussie en Suisse, dès lors qu'il maîtrise mal le français, qu'il était au chômage au moment de son interpellation et qu'il n'a pas démontré avoir développé des liens sociaux particuliers en Suisse.
D'un point de vue de sa vie familiale, ses enfants sont majeurs et ne vivent plus avec lui. Quant à son épouse, avec laquelle il vit et qui dispose apparemment du droit de résider en Suisse, rien n'indique - et le recourant ne le prétend pas - qu'on ne puisse pas exiger de celle-ci, également de nationalité portugaise, qu'elle retourne avec son mari dans leur pays d'origine, où se trouvent la maison familiale et une partie de leur famille.
En définitive, il est douteux qu'un renvoi au Portugal placerait le recourant dans une situation personnelle grave et porterait atteinte au respect de sa vie privée et/ou familiale. Quoi qu'il en soit, compte tenu de ce qui suit (cf. infra consid. 4.6), l'intérêt privé de l'intéressé à demeurer en Suisse ne l'emporte pas sur l'intérêt public à son expulsion, question devant être examinée au regard du principe de la proportionnalité découlant des art. 5 al. 2 Cst. et 8 par. 2 CEDH (cf. arrêts 6B_1035/2021 du 16 décembre 2021 consid. 3.4; 6B_379/2021 du 30 juin 2021 consid. 1.4 et les références citées).
4.6. Le recourant se contente en quelques lignes de rappeler sa situation personnelle et de souligner qu'il n'a pas d'antécédents judiciaires et que tant son fils qu'un ami d'enfance sont venus décrire son intégrité et son bon comportement.
En rapport avec l'intérêt privé du recourant à demeurer en Suisse, il y a lieu de tenir compte, tout d'abord, de la longue durée du séjour du recourant dans ce pays et du fait que son épouse et ses deux fils vivent ici. Si, comme il le soutient, il est vrai qu'il a travaillé en Suisse dans différents domaines, il convient de rappeler qu'il était au chômage au moment des faits et que ses perspectives d'emploi sont limitées dès lors qu'il n'a pas de formation et qu'il maîtrise mal la langue française. Par ailleurs, les perspectives de réintégration du recourant au Portugal ne seraient en tout cas pas moindres que son intégration actuelle en Suisse. Comme cela a été relevé par les autorités précédentes, le recourant entretient des liens étroits avec le Portugal, pays dont il parle parfaitement la langue et dans lequel il a suivi toute sa scolarité, y a travaillé pendant longtemps, s'y est marié et où sont nés ses enfants. Ses parents et ses frères vivent d'ailleurs au Portugal, où l'intéressé a une maison et souhaite y retourner à sa retraite.
Par ailleurs, c'est en vain que le recourant invoque le fait que ses enfants vivent en Suisse, dès lors qu'ils sont majeurs et indépendants et que le recourant ne vit pas avec eux. Dans ces conditions, les contacts peuvent s'exercer par le biais des moyens de télécommunication modernes ou lors de séjours de ses enfants au Portugal, notamment dans la maison familiale. Quant à son épouse, comme susmentionné, rien ne semble s'opposer à ce qu'elle aille vivre avec son mari au Portugal, où se trouvent la maison familiale et une partie de leur famille, en tout cas pour une durée limitée de cinq ans.
Les intérêts publics présidant à l'expulsion du recourant sont importants, malgré son absence d'antécédents, au regard de la gravité des infractions portant atteinte à l'intégrité sexuelle et à la liberté et de son absence de prise de conscience. En outre, la peine privative de liberté de quatre ans à laquelle le recourant a été condamné dépasse largement une année, ce qui pourrait permettre une révocation de son autorisation d'établissement sur la base de l'art. 63 al. 1 let. a cum art. 62 al. 1 let. b LEI (cf. <ref-ruling> consid. 2.1 p. 147, selon lequel constitue une "peine privative de liberté de longue durée" au sens de l'art. 62 al. 1 let. b LEtr [depuis le 1er janvier 2019: LEI] toute peine dépassant un an d'emprisonnement).
4.7. En définitive, compte tenu de la gravité des infractions commises, de l'intégration mitigée du recourant en Suisse et de ses perspectives d'intégration au Portugal, l'intérêt public à son expulsion l'emporte en l'espèce sur son intérêt privé à demeurer en Suisse. L'expulsion du recourant pour la durée (minimale) de cinq ans s'avère ainsi conforme au principe de la proportionnalité découlant des art. 5 al. 2 Cst. et 8 par. 2 CEDH.
4.8. L'une des conditions pour l'application de l'<ref-law> faisant défaut, la cour cantonale n'a pas violé le droit fédéral en ordonnant l'expulsion du recourant. Infondé, le grief est rejeté.
5.
Le recourant soutient enfin qu'il a été détenu dans des conditions de détention illicites pendant 313 jours, ce qui justifierait l'octroi d'une indemnité, subsidiairement une diminution de la peine infligée.
5.1. Sur le plan constitutionnel, l'art. 7 Cst. prescrit que la dignité humaine doit être respectée et protégée. À teneur de l'art. 10 al. 3 Cst., la torture et tout autre traitement ou peine cruels, inhumains ou dégradants sont interdits. L'art. 3 CEDH prévoit que nul ne peut être soumis à la torture ni à des peines ou traitements inhumains ou dégradants. En se référant à la Recommandation Rec (2006) 2 sur les Règles pénitentiaires européennes (ci-après: RPE) édictée par le Comité des ministres du Conseil de l'Europe le 11 janvier 2006, ainsi qu'au Commentaire de ces règles émanant du Comité européen pour la prévention de la torture et des peines ou traitements inhumains ou dégradants (CPT), la jurisprudence a déduit de l'art. 3 CEDH ainsi que des autres normes protégeant la dignité humaine, en droit international et en droit interne, un certain nombre de critères permettant d'évaluer si les conditions concrètes de détention se situent en deçà ou au-delà du seuil du traitement inhumain ou dégradant (arrêts 6B_17/2021 du 8 juillet 2021 consid. 1.1; 6B_1205/2018 du 22 février 2019 consid. 2.1; 6B_794/2015 du 15 août 2016 consid. 2.1). Un traitement dénoncé comme contraire à l'art. 3 CEDH doit atteindre un niveau d'humiliation ou d'avilissement supérieur à ce qu'emporte habituellement la privation de liberté. La gravité de cette atteinte est appréciée au regard de l'ensemble des données de la cause, considérées globalement, notamment de la nature et du contexte du traitement ainsi que de sa durée. Celle-ci est susceptible de rendre incompatible avec la dignité humaine une situation qui ne le serait pas nécessairement sur une courte période (<ref-ruling> consid. 6.3.4 et les arrêts cités). Sans viser à l'exhaustivité, il s'agit d'apprécier, notamment, si le lieu de détention répond à des exigences minimales quant à l'hygiène (propreté; accès aux installations de bain et de douche et aux sanitaires; protection de l'intimité), à la literie, à la nourriture (régime alimentaire; hygiène de la préparation et de la distribution; accès à l'eau potable), à l'espace au sol, au volume d'air, à l'éclairage et à l'aération, en tenant compte notamment des conditions climatiques locales et des possibilités d'effectuer des exercices à l'air libre (arrêts 6B_17/2021 précité consid. 1.1; 6B_1205/2018 précité consid. 2.1; 6B_71/2016 du 5 avril 2017 consid. 5.2; 6B_688/2015 du 19 mai 2016 consid. 7.2).
Quant, en particulier, à l'espace au sol, il sied, dans la règle, de considérer comme standard minimum une surface disponible estimée à 4 m2 par détenu dans un dortoir et à 6 m2 dans une cellule (individuelle); ces conditions d'hébergement doivent cependant être modulées en fonction des résultats d'analyses plus approfondies du système pénitentiaire; le nombre d'heures passées en dehors de la cellule doit être pris en compte; en tout état, ces chiffres ne doivent pas être considérés comme la norme. En cas de surpopulation carcérale, la restriction de l'espace de vie individuel réservé au détenu ne suffit pas pour conclure à une violation de l'art. 3 CEDH: une telle violation n'est retenue que lorsque les personnes concernées disposent individuellement de moins de 3 m2. Au-delà d'une telle surface, les autres aspects des conditions de la détention doivent être pris en compte, comme l'aération disponible, la qualité du chauffage, le respect des règles d'hygiène de base et la possibilité d'utiliser les toilettes de manière privée. Il y a lieu, par ailleurs, de considérer, quant à la surface, mais toujours dans une appréciation globale, l'espace dont bénéficie concrètement le détenu pour se mouvoir compte tenu de l'emprise au sol des installations présentes (lavabo, mobilier, etc.; sur toute la question, cf. <ref-ruling> consid. 3 ss et les références citées; cf. également arrêts 6B_17/2021 précité consid. 1.1; 6B_71/2016 précité consid. 5.2; 6B_688/2015 précité consid. 7.2).
Le 15 décembre 2015, le CPT a édité une norme sur l'Espace vital par détenu dans les établissements pénitentiaires. Il en ressort que la norme minimale concernant l'espace vital devrait exclure les sanitaires qui se trouvent à l'intérieur d'une cellule. Ainsi, une cellule individuelle devrait mesurer 6 m2 auxquels on ajouterait la superficie nécessaire à une annexe sanitaire (généralement de 1 à 2 m2). De même, l'espace occupé par l'annexe sanitaire devrait être exclu du calcul des 4 m2 par personne dans les cellules collectives. De plus, l'annexe sanitaire de ces dernières devrait être entièrement cloisonnée (arrêts 1B_330/2020 du 2 décembre 2020 consid. 4.1.1; 1B_325/2017 du 14 novembre 2017 consid. 3.2).
5.2. S'agissant de l'espace au sol, le Tribunal fédéral a jugé qu'en cas de surpopulation carcérale telle que la connaissait la Prison de Champ-Dollon, l'occupation d'une cellule dite individuelle par trois détenus - chacun disposant d'un espace individuel de 4 m2, restreint du mobilier - est une condition de détention difficile; elle n'est cependant pas constitutive d'une violation de l'art. 3 CEDH et ne représente pas un traitement dégradant portant atteinte à la dignité humaine des prévenus. En revanche, l'occupation d'une cellule dite triple par six détenus avec (i) une surface individuelle de 3,83 m2 - restreinte encore par le mobilier - peut constituer une violation de l'art. 3 CEDH (ii) si elle s'étend sur une longue période et (iii) si elle s'accompagne d'autres mauvaises conditions de détention, en particulier lorsque le détenu n'est autorisé qu'à passer un temps très limité hors de sa cellule. Il faut dès lors considérer la période pendant laquelle le recourant a été détenu dans les conditions incriminées. Une durée qui s'approche de trois mois consécutifs (délai que l'on retrouve en matière de contrôle périodique de la détention provisoire ou pour des motifs de sûreté; cf. <ref-law>) apparaît comme la limite au-delà de laquelle les conditions de détention susmentionnées ne peuvent plus être tolérées. Ce délai ne peut cependant pas être compris comme un délai au sens strict du terme, mais comme une durée indicative à prendre en compte dans le cadre de l'appréciation globale de toutes les conditions concrètes de détention. La durée très limitée des périodes que le recourant est autorisé à passer hors de la cellule aggrave encore la situation (<ref-ruling> consid. 3.6.3 p. 139 s.; arrêts 1B_268/2021 du 29 juin 2021 consid. 3.1.3; 1B_377/2020 du 2 décembre 2020 consid. 2.1.2 et les arrêts cités).
Par ailleurs, de brèves interruptions d'un à trois jours lors desquelles un détenu bénéficie d'un espace individuel plus grand ne sont pas de nature à interrompre le délai indicatif de trois mois au-delà duquel les conditions de détention ne sont plus tolérables et sont contraires à la dignité humaine. En revanche, il y a lieu d'évaluer des interruptions plus longues dans le cadre d'une appréciation globale qui tienne compte de toute la durée de la détention, de la durée précédant la période d'interruption et des autres conditions concrètes de détention (cf. arrêts 6B_352/2018 du 27 juillet 2018 consid. 6.2; 1B_84/2016 du 27 juillet 2016 consid. 2.1; 6B_688/2015 du 19 mai 2016 consid. 8.3; 1B_239/2015 du 29 septembre 2015 consid. 2.5.2).
S'agissant de la Prison vaudoise du Bois-Mermet, le Tribunal fédéral a précisé que, lors du calcul de la surface individuelle à disposition de chaque détenu, la surface des installations sanitaires se trouvant dans la cellule devait être retranchée (arrêts 1B_330/2020 du 2 décembre 2020 consid. 4.1.2; 1B_325/2017 du 14 novembre 2017 consid. 3.3; 1B_70/2016 du 24 juin 2016 consid. 3.4).
5.3. Dans un arrêt de principe Mursic contre Croatie du 20 octobre 2016, la Grande Chambre de la CourEDH s'est cependant écartée de cet ordre de grandeur de 4 m2, déduit des normes établies par le CPT: désormais, la cour retient qu'une surface de 3 m2 au sol par détenu dans une cellule collective constitue la norme minimale pertinente (arrêt CourEDH Mursic c. Croatie du 20 octobre 2016 [requête n° 7334/13], § 110 à § 115; arrêt 6B_17/2021 du 8 juillet 2021 consid. 1.2).
Lorsqu'un détenu dispose dans la cellule d'un espace personnel compris entre 3 et 4 m2, le facteur spatial demeure un élément de poids dans l'appréciation du caractère adéquat des conditions de détention. Il y a lieu de conclure à une violation de l'art. 3 CEDH si le manque d'espace s'accompagne d'autres mauvaises conditions matérielles de détention, notamment d'un défaut d'accès à la cour de promenade ou à l'air et à la lumière naturels, d'une mauvaise aération, d'une température insuffisante ou trop élevée dans les locaux, d'une absence d'intimité aux toilettes ou de mauvaises conditions sanitaires et hygiéniques (arrêt CourEDH Mursic c. Croatie précité, § 106 et § 139 et les arrêts cités). Lorsqu'on évalue les conditions de détention, il y a lieu de tenir compte de leurs effets cumulatifs ainsi que des allégations spécifiques du requérant. La durée de détention d'une personne dans des conditions particulières doit, elle aussi, être prise en considération (arrêt CourEDH Mursic c. Croatie précité, § 101 et § 131 et les arrêts cités). Lorsqu'un détenu dispose de plus de 4 m2 d'espace personnel en cellule collective et que cet aspect de ses conditions matérielles de détention ne pose donc pas de problème, les autres aspects indiqués ci-dessus demeurent pertinents aux fins de l'appréciation du caractère adéquat des conditions de détention de l'intéressé au regard de l'art. 3 CEDH (arrêt CourEDH Mursic c. Croatie précité, § 140 et les arrêts cités; cf. <ref-ruling> consid. 3.2 et 3.4; arrêts 6B_17/2021 du 8 juillet 2021 consid. 1.2; 6B_284/2020 du 3 juillet 2020 consid. 2.3).
5.4. En se fondant sur le rapport de la Direction de la Prison du Bois-Mermet du 7 mai 2021 concernant le parcours carcéral du recourant (pièce 83 du dossier cantonal), la cour cantonale a constaté que le recourant avait toujours occupé une cellule lui offrant une surface individuelle supérieure à 4 m2 et que, depuis le 23 mars 2021, il avait intégré l'atelier cuisine à 100%. Elle en a conclu que ses conditions de détention étaient conformes aux exigences conventionnelles et constitutionnelles en la matière et ne justifiaient pas l'allocation d'une indemnité ou l'octroi d'une diminution de la peine.
5.5. Le recourant produit une ordonnance rendue par le tribunal des mesures de contrainte en date du 27 mai 2020 qu'il se serait fait remettre par un détenu et à laquelle est joint un rapport dont il ressortirait notamment que les cellules, dans lesquelles il a séjourné, ne sont pas conformes, la surface individuelle étant notamment inférieure à 4 m2.
5.5.1. L'<ref-law> interdit la présentation d'un fait nouveau ou d'une preuve nouvelle. Un moyen de preuve est nouveau s'il n'a pas été présenté ou offert en preuve devant l'autorité précédente. Il importe peu que cela soit dû à une omission ou au fait que le moyen n'a été découvert qu'après la décision attaquée (<ref-ruling> consid. 2.1; arrêt 6B_305/2010 du 23 juillet 2010 consid. 1; cf. BERNARD CORBOZ, Commentaire de la LTF, 2e éd. 2014, n° 17 ad <ref-law>). Cette règle connaît une exception lorsque c'est la décision de l'autorité précédente qui, pour la première fois, a rendu pertinents ces faits ou moyens de preuve (<ref-ruling> consid. 3.1.2 p. 123; arrêt 6B_192/2021 du 27 septembre 2021 consid. 2.3.4 et la référence citée). Cette exception, dont il appartient aux parties de démontrer que les conditions sont remplies, vise les faits qui sont rendus pertinents pour la première fois par la décision attaquée, par exemple concernant le déroulement de la procédure devant l'instance précédente afin d'en contester la régularité, ou encore des faits postérieurs à l'arrêt attaqué permettant d'établir la recevabilité du recours (arrêts 5A_904/2015 du 29 septembre 2016 consid. 2.3 non publié in <ref-ruling>; 5A_842/2020 du 14 octobre 2021 consid. 2.3).
5.5.2. En l'occurrence, le recourant ne dit pas en quoi cette ordonnance du 27 mai 2020, qui ne lui est pas destinée et qui n'a pas été présentée devant l'autorité précédente, résulterait du jugement attaqué et tel n'apparaît pas être le cas. En effet, force est de constater que l'on ne se trouve pas dans l'un des cas où le Tribunal fédéral peut exceptionnellement tenir compte de faits ou moyens de preuve nouveaux (cf. BERNARD CORBOZ, in Commentaire de la LTF, 2e éd. 2014, nos 19 à 27 ad <ref-law>). À cet égard, c'est en vain que le recourant soutient qu'il n'avait pas connaissance de cette ordonnance avant l'audience de la cour cantonale. En effet, il ne suffit pas qu'un fait soit survenu ou qu'un moyen de preuve ait été découvert après la décision attaquée pour justifier une exception à l'interdiction des faits et moyens de preuve nouveaux (<ref-ruling> consid. 3.1.2; <ref-ruling> consid. 4.4.3; <ref-ruling> consid. 2.1; arrêt 4A_677/2016 du 28 mars 2017 consid. 1.2; CORBOZ, op. cit., n° 26 ad <ref-law>).
Il s'ensuit que la pièce est irrecevable.
5.6. Pour le surplus, le recourant reproche à la cour cantonale d'avoir retenu qu'il avait toujours occupé une cellule lui offrant une surface individuelle supérieure à 4 m2. Il soutient qu'il ressort du rapport de la Direction de la Prison du Bois-Mermet, sur lequel s'est fondée la cour cantonale, que la surface disponible par personne dans des cellules qu'il a occupées serait inférieure à 4 m2 si l'on déduit une surface sanitaire de 1,5 m2 pour chaque cellule, ce que ne font ni le rapport ni le jugement attaqué.
En l'occurrence, s'agissant de l'une des cellules doubles litigieuses, ledit rapport fait état d'une surface brute (y compris le mur côté porte) de 9,56 m2, auquel il déduit 0,68 m2 pour la "surface mur côté porte", ce qui donne une surface nette de 8,89 (recte: 8,88) m2. En ce qui concerne l'autre cellule double, le rapport retient une surface brute de 9,54 m2, auquel il déduit 0,63 m2 (surface du mur côté porte), soit une surface nette de 8,91 m2. La cour cantonale s'est vraisemblablement fondée sur ces surfaces nettes de 8,89 (recte: 8,88) m2 et 8,91 m2 pour conclure que le recourant avait toujours occupé une cellule lui offrant une surface individuelle supérieure à 4 m2. Or, il n'apparaît pas que dans son calcul la cour cantonale ait déduit la surface pour les installations sanitaires des surfaces nettes retenues pour les deux cellules précitées.
Or, si, après déduction des sanitaires, la surface des cellules était de moins de 4 m2, leur occupation pourrait constituer une violation de l'art. 3 CEDH si elle s'était étendu sur une longue période et si elle s'était accompagnée d'autres mauvaises conditions de détention (supra consid. 5.2-5.3). A cet égard, il ressort du rapport de la prison que le recourant a été détenu dans la première cellule litigieuse du 19.10.2020 (recte: 19.05.2020) au 30.10.2020, soit pendant 165 jours, et dans la deuxième cellule litigieuse du 30.10.2020 au 22.03.2021, soit pendant 144 jours. Même si le rapport relève que le recourant se trouvait seul dans la cellule du 19 au 21.05.2020, du 8 au 17.11.2020 et les 21 et 22.02.2021, il apparaît que l'intéressé a séjourné avec un autre détenu dans les cellules litigieuses pendant une période dépassant largement les trois mois au-delà desquels il y a lieu de considérer que la mauvaise condition de détention s'est étendue sur une longue période (supra consid. 5.2). Il sied également de relever qu'il ressort du rapport du 7 mai 2021 que, s'agissant du temps passé hors de sa cellule, le recourant n'a intégré l'atelier cuisine que depuis le 23 mars 2021, l'intéressé ayant décliné des propositions d'emploi auparavant, de sorte qu'avant cette date il bénéficiait d'une heure de promenade par jour et de quatre séances d'une heure de sport par semaine (rapport du 7 mai 2021, p. 1).
5.7. Il s'ensuit que le recours doit être partiellement admis, le jugement attaqué partiellement annulé et la cause renvoyée à la cour cantonale afin qu'elle statue à nouveau sur les conditions de détention du recourant, en particulier sur l'espace individuel que celui-ci avait à disposition, après déduction de la surface des installations sanitaires et, notamment, le cas échéant, si cette occupation s'est étendue sur une longue période et quel est le temps que le recourant a passé hors de sa cellule durant les périodes litigieuses.
La cour cantonale devra alors évaluer si l'ensemble des conditions matérielles de détention du recourant s'analyse comme un traitement dégradant et inhumain au sens des art. 3 CEDH, 7 et 10 al. 3 Cst.
6.
Il s'ensuit que le recours doit être partiellement admis, le jugement attaqué partiellement annulé et la cause renvoyée à la cour cantonale pour nouvelle décision. Pour le surplus, le recours doit être rejeté dans la mesure où il est recevable. Le recourant a requis l'assistance judiciaire. Il ne supportera pas de frais et peut prétendre à une indemnité de dépens réduite relative à l'admission partielle de son recours (<ref-law>), ce qui rend sa demande d'assistance judiciaire sans objet dans cette mesure. Le recours était, pour le surplus, dénué de chance de succès, si bien que l'assistance judiciaire doit être refusée (art. 64 al. 1 et 2 LTF). Le recourant supportera des frais réduits en raison de l'issue de la procédure et de sa situation financière (art. 65 al. 2 et 66 al. 1 LTF). L'intimée n'a pas droit à des dépens, car elle n'a pas été invitée à se déterminer dans la procédure devant le Tribunal fédéral; sa demande d'assistance judiciaire est sans objet (cf. arrêt 6B_236/2021 du 28 juillet 2021 consid. 5).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est partiellement admis, le jugement attaqué est annulé et la cause est renvoyée à la cour cantonale pour nouvelle décision. Pour le surplus, le recours est rejeté dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée dans la mesure où elle n'est pas sans objet.
3.
Une partie des frais judiciaires, arrêtée à 800 fr., est mise à la charge du recourant.
4.
Le canton de Vaud versera en mains du conseil du recourant une indemnité de 1'000 fr. à titre de dépens réduits pour la procédure devant le Tribunal fédéral.
5.
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 16 février 2022
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
La Présidente : Jacquemoud-Rossari
La Greffière : Thalmann