Faits :
A.
Par jugement du 21 janvier 2020, le Tribunal de police de la République et canton de Genève a condamné A._ pour violence ou menace contre les autorités et les fonctionnaires (art. 285 ch. 1 CP), délit et contravention à la LStup (art. 19 al. 1 let. c et d et 19a LStup) et infractions à la LEI (art. 115 al. 1 let. b et 119 al. 1 LEI; périodes en cause: 6 octobre 2018 au 6 mars 2019, 8 au 18 mars 2019, 20 mars au 3 mai 2019). Il l'a condamné à une peine privative de liberté de 3 mois, sous déduction de 6 jours de détention avant jugement, et à une amende de 200 fr., tout en l'exemptant de peine pour les infractions à la LEI commises du 28 décembre 2018 au 3 mai 2019. Le Tribunal de police a ordonné la confiscation et la dévolution à l'État des valeurs patrimoniales et des téléphones portables saisis en cours d'instruction. Les frais de procédure, par 2276 fr. au total, ont été mis à la charge de A._, dont les conclusions en indemnisation ont par ailleurs été rejetées.
B.
Statuant par arrêt du 24 août 2020, la Chambre pénale d'appel et de révision de la Cour de justice genevoise a partiellement admis l'appel de A._ contre ce jugement. Ce dernier a été acquitté des chefs de prévention de violence ou menace contre les autorités et les fonctionnaires ainsi que d'infraction à la LEI (art. 115 al. 1 let. b LEI) pour la période du 28 décembre 2018 au 26 février 2019 et le 3 mai 2019. Il a été condamné pour délit et contravention à la LStup (art. 19 al. 1 let. c et d et 19a LStup), infraction à l'art. 115 al. 1 let. b LEI (périodes en cause: 6 octobre au 27 décembre 2018, 27 février au 6 mars 2019, 8 au 18 mars 2019, 20 mars au 2 mai 2019) et infraction à l'art. 119 al. 1 LEI (6 mars 2019, entre le 8 et le 18 mars 2018, 2 mai 2019) à une peine privative de liberté de 3 mois, sous déduction de 6 jours de détention avant jugement, et à une amende de 200 fr., tout en étant exempté de peine pour les infractions à la LEI commises du 28 décembre 2018 au 3 mai 2019. Les téléphones portables saisis ont par ailleurs été restitués à A._. Le jugement du 21 janvier 2020 a été confirmé pour le surplus. Les trois quarts des frais de la procédure d'appel, par 2948 fr. 25, ont été mis à la charge de A._.
En substance, la cour cantonale a retenu les faits suivants.
B.a. Lors d'un contrôle effectué par la police le 6 mars 2019, dans le quartier des Pâquis, à Genève, A._, ressortissant guinéen né en 1996, était en possession de deux boulettes de cocaïne destinées à la vente, d'un poids total de 1,5 grammes.
En outre, le 2 mai 2019, A._ détenait, dans l'appartement de B._, à U._, où il résidait provisoirement, 110 grammes bruts de résine de cannabis destinés, à tout le moins en partie, à la vente.
B.b. Alors que A._ faisait l'objet d'une interdiction d'entrée en Suisse, prononcée le 2 juillet 2017 par le Secrétariat d'État aux migrations (SEM), et qu'il était également sous le coup d'une interdiction de pénétrer sur le territoire genevois, prononcée le 25 août 2018 par la Police cantonale, il a séjourné illégalement en Suisse, notamment à U._, du 6 octobre au 2 décembre 2018, du 27 février au 6 mars 2019, du 8 au 18 mars 2019 ainsi que du 20 mars au 2 mai 2019.
B.c. En Suisse, A._ a déjà été condamné:
- le 7 janvier 2014, à une peine pécuniaire de 80 jours-amende, pour empêchement d'accomplir un acte officiel et délit à la LStup;
- le 30 avril 2014, à une peine privative de liberté de 60 jours, pour délit à la LStup;
- le 22 juillet 2014, à une peine privative de liberté de 1 mois ainsi qu'à une amende de 100 fr., pour séjour illégal (du 24 mai au 1er juillet 2014) et contravention à la LStup;
- le 29 août 2014, à une peine privative de liberté de 90 jours pour délit à la LStup, séjour illégal (du 1er au 28 août 2014) et infraction à l'art. 119 al. 1 LEtr;
- le 20 janvier 2017, à une peine privative de liberté de 18 jours ainsi qu'à une amende de 100 fr., pour infraction à l'art. 119 al. 1 LEtr et recel d'importance mineure;
- le 10 octobre 2017, à une peine pécuniaire de 30 jours-amende, pour délit à la LStup;
- le 26 avril 2018, à une peine pécuniaire de 150 jours-amende ainsi qu'à une amende de 300 fr., peine partiellement complémentaire à celle prononcée le 10 octobre 2017, pour délit et contravention à la LStup, séjour illégal (du 24 février au 22 octobre 2017) et infraction à l'art. 119 al. 1 LEtr;
- le 5 octobre 2018, à une peine pécuniaire de 90 jours-amende ainsi qu'à une amende de 200 fr., peine complémentaire à celle prononcée le 26 avril 2018, pour séjour illégal (du 24 novembre 2017 au 27 février 2018), infraction à l'art. 119 al. 1 LEtr, empêchement d'accomplir un acte officiel ainsi que délit et contravention à la LStup;
- le 23 novembre 2019, à une peine pécuniaire de 30 jours-amende à 10 fr., pour séjour illégal (du 24 août au 23 novembre 2019).
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt du 24 août 2020. Il conclut, avec suite de frais et dépens, principalement à sa réforme en ce sens qu'il est acquitté du chef de délit à la LStup (art. 19 al. 1 let. c et d LStup), qu'une peine pécuniaire de quotité nulle est prononcée pour l'infraction réprimée à l'art. 115 al. 1 let. b LEI, que cette peine est complémentaire à celle ordonnée par ordonnance pénale du 23 novembre 2019 et que les valeurs patrimoniales saisies lui sont restituées. Subsidiairement, il conclut à l'annulation de l'arrêt et au renvoi de la cause à l'autorité précédente pour qu'elle statue dans le sens des considérants. Il sollicite en outre le bénéfice de l'assistance judiciaire.
Invitée à se déterminer sur le recours, la Cour de justice a indiqué qu'elle n'avait pas d'observations à formuler. Le ministère public ne s'est pas déterminé.
Considérant en droit :
1.
Le recourant conteste sa condamnation pour infraction à l'art. 19 al. 1 let. c et d LStup. Invoquant la violation de la présomption d'innocence, il soutient que la cour cantonale a apprécié les preuves et établi les faits de manière arbitraire.
1.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 (art. 105 al. 1 LTF), à 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 (ATF 145 IV 154 consid. 1.1 p. 155 s.; 143 IV 500 consid. 1.1 p. 503; sur la notion d'arbitraire v. ATF 143 IV 241 consid. 2.3.1 p. 244). 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 (art. 106 al. 2 LTF; ATF 143 IV 500 consid. 1.1 p. 503). Les critiques de nature appellatoire sont irrecevables (ATF 145 IV 154 consid. 1.1 p. 156). 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 (ATF 145 IV 154 consid. 1.1 p. 156; 143 IV 500 consid. 1.1 p. 503).
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_721/2020 du 11 février 2021 consid. 3.1; 6B_238/2020 du 14 décembre 2020 consid. 1.1; 6B_621/2020 du 9 décembre 2020 consid. 1.1).
1.2. Aux termes de l'art. 19 al. 1 LStup, est puni d'une peine privative de liberté de trois ans au plus ou d'une peine pécuniaire, notamment celui qui, sans droit, aliène ou prescrit des stupéfiants, en procure de toute autre manière à un tiers ou en met dans le commerce (let. c) ainsi que celui qui, sans droit, possède, détient ou acquiert des stupéfiants ou s'en procure de toute autre manière (let. d).
1.3. Le recourant ne conteste pas qu'il était en possession de deux boulettes de cocaïne ainsi que d'un montant de 500 fr. en treize coupures lorsqu'il a été arrêté par la police le 6 mars 2019. Il nie en revanche toute implication dans un trafic de stupéfiants, reprochant à la cour cantonale de ne pas avoir retenu que la drogue en question était destinée à sa consommation personnelle, rendue nécessaire pour soulager les douleurs qu'il ressentait après avoir été victime d'une agression au couteau le 28 décembre 2018. Par ailleurs, la cour cantonale aurait dû constater que l'argent qu'il détenait lors de son arrestation provenait d'une collecte que ses amis avait organisée en sa faveur à la suite de cette agression.
La cour cantonale a exposé de manière circonstanciée, en référence également aux développements de l'autorité de première instance, les raisons pour lesquelles les explications du recourant étaient à ses yeux dénuées de crédibilité. En particulier, les déclarations fournies par le recourant n'étaient pas constantes quant aux motifs de sa présence aux Pâquis le jour en question. En effet, alors qu'il avait indiqué lors de son audition par le ministère public, être venu parler avec un ami, il avait expliqué, aux débats, être sorti en cachette de l'hôpital pour aller acheter de la cocaïne, parce qu'il avait " mal partout ". S'il était possible que le recourant souffrait à cette époque, il était certainement beaucoup plus facile et moins onéreux pour lui de solliciter des anti-douleurs à l'hôpital que d'aller acheter de la drogue, puis la ramener en milieu hospitalier. A cela s'ajoutait que le recourant, sans domicile fixe et sans revenus, n'avait aucunement rendu crédible que la somme d'argent qu'il détenait provenait de dons en sa faveur. Ce n'était en effet que le 2 mai 2019 qu'il avait évoqué pour la première fois l'existence d'une collecte réalisée par des amis, faisant alors valoir que, pendant son hospitalisation, une somme comprise entre 400 et 500 fr. avait été réunie en sa faveur, avec laquelle il avait pu acheter de la résine de cannabis pour 250 francs. Or, un mois plus tard, il avait déclaré que la somme de 500 fr., qui avait été saisie le 6 mars 2019, provenait déjà de cette collecte. Il fallait au surplus prendre en considération que le recourant, qui avait déjà fait l'objet de plusieurs condamnations, récentes, pour infractions à la LStup, se trouvait lors de son interpellation à la rue de Zurich, un endroit connu pour être un point de vente de cocaïne (cf. arrêt attaqué, consid. 2.2 p. 9; jugement du Tribunal de police du 21 janvier 2020, consid. 1.2.1 p. 7 s.).
En tant que le recourant critique les développements de la cour cantonale en invoquant que son état de santé ne lui permettait pas de se déplacer facilement; que, contrairement aux anti-douleurs, la cocaïne avait un effet stimulant qu'il appréciait ou encore qu'une collecte de fonds n'avait rien d'inhabituel après un événement malheureux subi par une personne dans le besoin, son argumentation consacre une démarche purement appellatoire, irrecevable dans le recours en matière pénale.
Pour autant, au regard des éléments retenus par la cour cantonale, celle-ci pouvait, sans violer la présomption d'innocence du recourant, acquérir la conviction que la cocaïne détenue par le recourant lors de son interpellation était destinée à la vente, alors que la somme de 500 fr. ne pouvait provenir que d'un trafic de stupéfiants, activité que l'intéressé, en situation irrégulière en Suisse et n'ayant aucun moyen de subsistance, exerçait depuis plusieurs années.
1.4. Les mêmes considérations valent mutatis mutandisen lien avec les stupéfiants retrouvés le 2 mai 2019 au domicile de B._, où le recourant résidait depuis plusieurs semaines.
Ainsi, contrairement à ce que prétend le recourant de manière appellatoire, on ne voit pas qu'il était déterminant qu'aucune transaction de drogue n'a pu être observée, ni qu'aucun message concernant un trafic n'avait été trouvé dans son téléphone. En effet, là non plus, le recourant n'avait pas fourni d'explications crédibles quant à la provenance de l'argent nécessaire à l'achat de 110 grammes de résine de cannabis, étant relevé que le montant de 500 fr. qu'il disait avoir reçu d'une collecte, avait déjà été saisi lors de son interpellation du 6 mars 2019. En outre, les allégations du recourant selon lesquelles il aurait acheté les 110 grammes pour sa consommation personnelle, en une seule fois, car il avait du mal à marcher et qu'il ne pouvait pas sortir, étaient contredites par le fait qu'il s'était déjà rendu aux Pâquis les 6 et 18 mars 2019, à tout le moins, et que sa logeuse avait indiqué qu'il sortait quelquefois, en particulier pour aller voir des amis (cf. arrêt attaqué, consid. 2.2 p. 9; jugement du 21 janvier 2020, consid. 1.2.2 p. 8).
C'est ainsi sans violer la présomption d'innocence du recourant que la cour cantonale a tenu pour établi que les stupéfiants retrouvés le 2 mai 2019 au domicile de B._ n'étaient pas destinés à la consommation personnelle du recourant, mais à la vente.
1.5. Par ailleurs, la cour cantonale n'a pas violé le droit fédéral en estimant que, compte tenu des faits imputés au recourant, celui-ci devait être reconnu coupable des infractions décrites aux art. 19 al. 1 let. c et d LStup.
1.6. Le grief doit par conséquent être rejeté dans la mesure où il est recevable.
2.
Le recourant conteste la peine qui lui a été infligée.
2.1.
2.1.1. Selon l'art. 47 CP, le juge fixe la peine d'après la culpabilité de l'auteur. Il prend en considération les antécédents et la situation personnelle de ce dernier ainsi que l'effet de la peine sur son avenir (al. 1). La culpabilité est déterminée par la gravité de la lésion ou de la mise en danger du bien juridique concerné, par le caractère répréhensible de l'acte, par les motivations et les buts de l'auteur et par la mesure dans laquelle celui-ci aurait pu éviter la mise en danger ou la lésion, compte tenu de sa situation personnelle et des circonstances extérieures (al. 2). La culpabilité doit être évaluée en fonction de tous les éléments objectifs pertinents, qui ont trait à l'acte lui-même, à savoir notamment la gravité de la lésion, le caractère répréhensible de l'acte et son mode d'exécution. Du point de vue subjectif, sont pris en compte l'intensité de la volonté délictuelle ainsi que les motivations et les buts de l'auteur. A ces composantes de la culpabilité, il faut ajouter les facteurs liés à l'auteur lui-même, à savoir les antécédents, la réputation, la situation personnelle (état de santé, âge, obligations familiales, situation professionnelle, risque de récidive, etc.), la vulnérabilité face à la peine, de même que le comportement après l'acte et au cours de la procédure pénale (ATF 141 IV 61 consid. 6 p. 66 s. et les références citées).
Le juge dispose d'un large pouvoir d'appréciation dans la fixation de la peine. Le Tribunal fédéral n'intervient que lorsque l'autorité cantonale a fixé une peine en dehors du cadre légal, si elle s'est fondée sur des critères étrangers à l'art. 47 CP, si des éléments d'appréciation importants n'ont pas été pris en compte ou, enfin, si la peine prononcée est exagérément sévère ou clémente au point de constituer un abus du pouvoir d'appréciation (ATF 144 IV 313 consid. 1.2 p. 319). L'exercice de ce contrôle suppose que le juge exprime, dans sa décision, les éléments essentiels relatifs à l'acte ou à l'auteur dont il tient compte, de manière à ce que l'on puisse constater que tous les aspects pertinents ont été pris en considération et comment ils ont été appréciés, que ce soit dans un sens aggravant ou atténuant (art. 50 CP; ATF 144 IV 313 consid. 1.2 p. 319). Le juge peut passer sous silence les éléments qui, sans abus du pouvoir d'appréciation, lui apparaissent non pertinents ou d'une importance mineure. La motivation doit justifier la peine prononcée, en permettant de suivre le raisonnement adopté. Un recours ne saurait toutefois être admis simplement pour améliorer ou compléter un considérant lorsque la décision rendue apparaît conforme au droit (ATF 144 IV 313 consid. 1.2 p. 319; 136 IV 55 consid. 5.6 p. 61).
2.1.2. Aux termes de l'art. 41 al. 1 CP en vigueur depuis le 1er janvier 2018, le juge peut prononcer une peine privative de liberté à la place d'une peine pécuniaire si une peine privative de liberté paraît justifiée pour détourner l'auteur d'autres crimes ou délits (let. a) ou s'il y a lieu de craindre qu'une peine pécuniaire ne puisse pas être exécutée (let. b).
Selon l'art. 49 CP, si, en raison d'un ou de plusieurs actes, l'auteur remplit les conditions de plusieurs peines de même genre, le juge le condamne à la peine de l'infraction la plus grave et l'augmente dans une juste proportion. Il ne peut toutefois excéder de plus de la moitié le maximum de la peine prévue pour cette infraction. Il est en outre lié par le maximum légal de chaque genre de peine (al. 1). Si le juge doit prononcer une condamnation pour une infraction que l'auteur a commise avant d'avoir été condamné pour une autre infraction, il fixe la peine complémentaire de sorte que l'auteur ne soit pas puni plus sévèrement que si les diverses infractions avaient fait l'objet d'un seul jugement (al. 2).
2.2. Le recourant reproche en premier lieu à la cour cantonale d'avoir prononcé une peine privative de liberté et non une peine pécuniaire.
2.2.1. La peine pécuniaire constitue la sanction principale dans le domaine de la petite et moyenne criminalité, les peines privatives de liberté ne devant être prononcées que lorsque l'Etat ne peut garantir d'une autre manière la sécurité publique. Lorsque tant une peine pécuniaire qu'une peine privative de liberté entrent en considération et que toutes deux apparaissent sanctionner de manière équivalente la faute commise, il y a en règle générale lieu, conformément au principe de la proportionnalité, d'accorder la priorité à la première, qui porte atteinte au patrimoine de l'intéressé et constitue donc une sanction plus clémente qu'une peine privative de liberté, qui l'atteint dans sa liberté personnelle (ATF 144 IV 313 consid. 1.1.1 p. 317; 134 IV 97 consid. 4.2.2 p. 100 s.). Le choix de la sanction doit être opéré en tenant compte au premier chef de l'adéquation de la peine, de ses effets sur l'auteur et sur sa situation sociale ainsi que de son efficacité du point de vue de la prévention (ATF 144 IV 313 consid. 1.1.1 p. 317; 137 II 297 consid. 2.3.4 p. 301; 134 IV 97 consid. 4.2 p. 100).
2.2.2. La cour cantonale a estimé que seule une peine de privation de liberté était de nature à remplir son rôle de prévention spéciale, cela tant pour les infractions à la LEI et que pour celles décrites à l'art. 19 al. 1 let. c et d LStup (cf. arrêt attaqué, consid. 5.2 p. 15). La contravention à l'art. 19a LStup devait pour sa part être punie d'une amende, non contestée en l'espèce.
Dès lors que les nombreuses condamnations prononcées ces dernières années pour des infractions similaires n'avaient pas eu pour effet de dissuader le recourant de récidiver et que, de surcroît, il ne dispose en l'état d'aucune source de revenus, on ne voit pas que le prononcé d'une peine privative de liberté consacre en l'espèce une violation du droit fédéral. Il n'est pas déterminant à cet égard que les infractions en cause ne portent, selon le recourant, que sur une courte période de séjour illégal et sur des quantités minimes de stupéfiants. Au reste, quand bien même il devrait prochainement encaisser des indemnités pour tort moral qui lui avaient été allouées dans le cadre d'autres procédures pénales, sa prise de conscience inexistante et sa mauvaise collaboration en cours de procédure, dont la cour cantonale a également tenu compte, ne sont pas de nature à rendre vraisemblable que le recourant entende réellement s'acquitter d'une sanction pécuniaire au moyen des sommes évoquées.
2.3. Le recourant reproche ensuite à la cour cantonale de ne pas avoir répercuté, sur la peine de 90 jours de peine privative de liberté déjà prononcée en première instance, son acquittement en appel du chef de l'art. 285 CP ainsi que des infractions à la LEI pour une partie des périodes en cause.
2.3.1. Lorsque le prévenu est condamné pour plusieurs infractions en première instance, puis qu'il est acquitté de certains chefs de prévention en appel, sa faute est diminuée, ce qui doit entraîner en principe une réduction de la peine. La juridiction d'appel est toutefois libre de maintenir la peine infligée en première instance, mais elle doit motiver sa décision, par exemple en expliquant que les premiers juges auraient mal apprécié les faits en fixant une peine trop basse qu'il n'y aurait pas lieu de réduire encore (cf. art. 50 CP; ATF 117 IV 395 consid. 4 p. 397; 118 IV 18 consid. 1c/bb p. 21; arrêts 6B_183/2020 du 28 octobre 2020 consid. 3.1; 6B_1127/2019 du 20 janvier 2020 consid. 3.1; 6B_976/2016 du 12 octobre 2017 consid. 3.3.2).
2.3.2. Aux termes de l'ordonnance pénale du 12 juillet 2019, à laquelle le recourant avait formé opposition et qui tenait donc lieu d'acte d'accusation (cf. art. 356 al. 1 CPP), celui-là était également renvoyé en jugement pour avoir donné un coup de tête à un policier, alors qu'il se trouvait, menotté, dans un véhicule de service après son interpellation du 6 mars 2019, à laquelle il avait fortement résisté. La cour cantonale a considéré, contrairement à l'autorité de première instance, que les éléments constitutifs de l'infraction réprimée à l'art. 285 CP n'étaient pas réunis, dès lors qu'il n'était pas établi qu'à cette occasion le recourant avait voulu user de violence à l'égard d'un fonctionnaire de police, de sorte qu'il devait être acquitté (cf. arrêt attaqué, consid. 3.2 p. 10).
Le recourant devait également être acquitté de l'infraction décrite à l'art. 115 al. 1 let. b LEI (séjour illégal) pour la période du 28 décembre 2018 au 26 février 2019, durant laquelle sa liberté de mouvement était entravée dès lors qu'il était hospitalisé à la suite de l'agression au couteau déjà évoquée (cf. arrêt attaqué, consid. 4 p. 11).
2.3.3. La cour cantonale a tenu compte, sous l'angle de l'art. 47 CP, des nombreux antécédents du recourant en matière d'infractions à la LStup et à la LEI, d'une prise de conscience inexistante, de sa mauvaise collaboration à l'enquête ainsi que du mobile égoïste par lequel il avait agi, privilégiant l'appât du gain facile et sa volonté de faire prévaloir ses intérêts personnels sur les mesures prises à son égard par les autorités. Le recourant ne pouvait au surplus pas se prévaloir de la précarité de sa situation personnelle, dès lors que celle-ci était la conséquence de son choix de rester illégalement en Suisse.
Au vu de ces éléments et en application de l'art. 49 al. 1 CP, la cour cantonale a estimé qu'une peine privative de liberté de 60 jours sanctionnait adéquatement l'infraction à la LStup, la plus grave abstraitement et commise de surcroît en deux occurrences distinctes. Cette peine devait être augmentée de 30 jours, en vertu du principe de l'aggravation (peine hypothétique de 45 jours), en raison du séjour illégal (art. 115 al. 1 let. b LEI) pour la période du 6 octobre au 27 décembre 2018, le recourant devant être exempté de peine pour les périodes subséquentes (cf. arrêt attaqué, consid. 5.2 p. 14 s.).
2.3.4. Alors que l'autorité de première instance n'avait pas détaillé, au regard de l'art. 49 al. 1 CP, les peines à prendre en considération pour chacune des infractions auxquelles le recourant avait été condamné, relevant uniquement l'existence d'un concours d'infractions (cf. jugement du 21 janvier 2020, consid. 4.2 p. 12), la motivation présentée par la cour cantonale permet de comprendre que la peine prononcée en première instance était trop clémente à ses yeux, en particulier compte tenu du comportement délictueux répété du recourant s'agissant d'infractions à la LStup et à la LEI ainsi que de son mépris des décisions le concernant. On en déduit par ailleurs que, selon la cour cantonale, les actes pour lesquels le recourant a d'abord été condamné sous l'angle de l'art. 285 CP ne devaient assurément pas avoir eu une importance prépondérante lors de la fixation de la peine par le premier juge, ce qui n'est pas critiquable dès lors que ces actes paraissent en effet devoir être mis en lien avec la frustration ressentie par le recourant au moment de se faire interpeller alors qu'il était physiquement diminué.
2.3.5. Pour le surplus, en tant que le recourant se prévaut d'une violation de l'art. 47 CP, il ne prétend pas que la cour cantonale aurait fondé son appréciation sur des critères qui n'étaient pas pertinents. Il n'invoque en outre aucun élément propre à modifier la peine, qui aurait été omis ou pris en considération à tort par la cour cantonale.
2.4. Cela étant, la cour cantonale pouvait considérer que les infractions à la LStup et à la LEI justifiaient à elles seules le prononcé d'une peine privative de liberté de 90 jours, nonobstant l'acquittement du recourant, en appel, du chef de l'art. 285 CP. Le grief doit par conséquent être rejeté.
3.
Le recourant invoque en outre une violation de l'art. 70 CP en lien avec la confiscation des sommes d'argent saisies en cours d'instruction.
Dans ses développements, la restitution des valeurs patrimoniales en cause est toutefois présentée comme n'étant qu'une conséquence de son acquittement du chef des infractions à la LStup. Le grief est dès lors irrecevable.
4.
Le recourant conteste la quotité des frais de procédure mis à sa charge.
4.1.
4.1.1. Selon l'art. 426 al. 1 CPP, le prévenu supporte les frais de procédure s'il est condamné. La répartition des frais de procédure repose sur le principe, selon lequel celui qui a causé les frais doit les supporter. Ainsi, le prévenu doit supporter les frais en cas de condamnation (art. 426 al. 1 CPP), car il a occasionné, par son comportement, l'ouverture et la mise en oeuvre de l'enquête pénale (ATF 138 IV 248 consid. 4.4.1 p. 254; arrêt 6B_832/2020 du 22 février 2021 consid. 4.1). Un lien de causalité adéquate est nécessaire entre le comportement menant à la condamnation pénale et les coûts relatifs à l'enquête permettant de l'établir (arrêts 6B_53/2013 du 8 juillet 2013 consid. 4.1, non publié aux ATF 139 IV 243; 6B_572/2018 du 1er octobre 2018 consid. 5.1.1).
Si sa condamnation n'est que partielle, les frais ne doivent être mis à sa charge que de manière proportionnelle, en considération des frais liés à l'instruction des infractions pour lesquelles un verdict de culpabilité a été prononcé. Il s'agit de réduire les frais, sous peine de porter atteinte à la présomption d'innocence, si le point sur lequel le prévenu a été acquitté a donné lieu à des frais supplémentaires et si le prévenu n'a pas, de manière illicite et fautive, provoqué l'ouverture de la procédure ou rendu plus difficile la conduite de celle-ci (cf. art. 426 al. 2 CPP). Comme il est difficile de déterminer avec exactitude les frais qui relèvent de chaque fait imputable ou non au condamné, une certaine marge d'appréciation doit être laissée à la cour cantonale (arrêts 6B_112/2020 du 7 octobre 2020 consid. 6.3; 6B_956/2019 du 19 novembre 2019 consid. 1.5; 6B_572/2018 du 1er octobre 2018 consid. 5.1.1; 6B_136/2016 du 23 janvier 2017 consid. 4.1.1).
4.1.2. Aux termes de l'art. 428 al. 1, 1ère phrase, CPP, les frais de la procédure de recours sont mis à la charge des parties dans la mesure où elles ont obtenu gain de cause ou succombé. L'art. 428 al. 2 CPP régit les cas dans lesquels les frais de la procédure peuvent être mis à la charge de la partie recourante qui obtient une décision qui lui est plus favorable. Pour déterminer si une partie succombe ou obtient gain de cause, il faut examiner dans quelle mesure ses conclusions sont admises en deuxième instance (arrêts 6B_701/2019 du 17 décembre 2020 consid. 2.3; 6B_1192/2020 du 28 février 2020 consid. 3.1, 6B_680/2019 du 27 septembre 2019 consid. 2.1).
4.2. Le recourant se plaint qu'en dépit de son acquittement partiel en procédure d'appel, l'entier des frais de la procédure de première instance, par 2276 fr., a été mis à sa charge.
Si la cour cantonale a estimé que le recourant devait supporter les trois quarts des frais de la procédure d'appel (cf. arrêt attaqué, consid. 6 p. 16), elle ne détaille en revanche pas les raisons pour lesquelles l'intégralité des autres frais de procédure a été mise à la charge du précité (cf. dispositif de l'arrêt attaqué, p. 18). En particulier, on cherche en vain dans l'arrêt attaqué tout développement justifiant de faire exception au principe selon lequel, en cas d'acquittement partiel, les frais de la procédure ne sont mis à la charge du prévenu que d'une manière proportionnelle.
Faute d'une motivation suffisante, il se justifie d'annuler l'arrêt en tant qu'il porte sur les frais de procédure de première instance et de renvoyer la cause à la cour cantonale pour qu'elle complète sa décision (cf. art. 112 al. 3 LTF).
4.3. Le recourant reproche en outre à la cour cantonale d'avoir arrêté, dans son dispositif (cf. p. 18), les frais de la procédure d'appel à 3931 fr. - dont il devait supporter les trois quarts, soit 2948 fr. 25 -, alors que l'état de frais, reproduit à la dernière page de l'arrêt (cf. p. 19), mentionne que le total des frais de la procédure d'appel s'élève à 1655 francs.
Avec le recourant, il faut admettre qu'il s'agit là d'une contradiction, justifiant également l'annulation de l'arrêt attaqué en tant qu'il porte sur les frais de la procédure d'appel et le renvoi à la cour cantonale pour qu'elle précise sa décision (cf. art. 112 al. 3 LTF).
5.
Le recourant soutient enfin avoir droit à une indemnisation en raison de son acquittement partiel en procédure d'appel. Il ne consacre toutefois à cet égard aucun développement tendant à démontrer une violation des art. 429 ss CPP par la cour cantonale, qui a estimé que les conclusions du recourant en indemnisation devaient être rejetées (cf. arrêt attaqué, consid. 6 p. 16), de sorte qu'il ne sera pas entré en matière (cf. art. 42 al. 2 LTF).
6.
Le recours doit être partiellement admis. Le jugement attaqué est annulé en tant qu'il porte sur les frais de procédure de première instance et d'appel et la cause renvoyée pour nouvelle décision dans le sens des considérants. Pour le reste, le recours doit être rejeté dans la mesure où il est recevable.
La requête d'assistance judiciaire présentée par le recourant est sans objet dans la mesure où il obtient gain de cause et peut, à ce titre, prétendre à des dépens réduits de la part du canton de Genève (art. 68 al. 1 LTF); elle doit être rejetée pour le reste, dès lors que le recours était pour le surplus dénué de chances de succès s'agissant des aspects sur lesquels le recourant a succombé (art. 64 al. 1 LTF).
Le recourant, qui succombe partiellement, supportera une partie des frais judiciaires, fixés en tenant compte de sa situation financière qui n'apparaît pas favorable (art. 66 al. 1 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est partiellement admis. L'arrêt attaqué est annulé en tant qu'il porte sur les frais de procédure de première instance et d'appel et la cause est renvoyée à l'autorité précédente pour nouvelle décision. Pour le surplus, le recours est rejeté dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire du recourant est rejetée dans la mesure où elle n'est pas sans objet.
3.
Une partie des frais judiciaires, arrêtée à 600 fr., est mise à la charge du recourant.
4.
Le canton de Genève versera au conseil du recourant une indemnité de 500 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 de justice de la République et canton de Genève, Chambre pénale d'appel et de révision.
Lausanne, le 14 avril 2021
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Juge présidant : Denys
Le Greffier : Tinguely