Moro verruilde de jeugd van NK Solin in 2009 voor die van Dinamo Zagreb. Hiervoor debuteerde hij op 22 september 2015 in het eerste elftal, tijdens een met 1–7 gewonnen wedstrijd in het toernooi om de Beker van Kroatië uit bij Ostrc Zlatar. Hij viel die dag in de 61e minuut in voor Paulo Machado. Zijn debuut in de 1. HNL volgde op 14 mei 2016, uit bij Lokomotiva Zagreb (0–4). Hij speelde die wedstrijd van begin tot eind. Voor Moro bleven dat zijn enige wedstrijden in de hoofdmacht dat jaar, maar in de seizoenen erna kwam hij regelmatig aan spelen toe. Hij kwam in vijf seizoenen tot 87 competitiewedstrijden bij de recordkampioen van Kroatië, waarvan 79 als basisspeler. Daarnaast speelde hij tien wedstrijden in de Champions League en acht in de Europa League.
Moro verhuisde in augustus 2020 van Zagreb naar Dinamo Moskou. Hiermee werd hij in zijn eerste seizoen zesde. Zijn tweede seizoen vond plaats onder onzekere omstandigheden vanwege de Russische invasie van Oekraïne in maart 2022. Vliegvelden werden gesloten, spelers vertrokken uit Rusland en Russische clubs werden uitgesloten van Europees voetbal. Moro maakte het seizoen wel af bij Dinamo Moskou en speelde vrijwel alle wedstrijden. Naast de derde plaats in de competitie behaalden zijn ploeggenoten en hij ook de finale van het Russische bekertoernooi.[1]
Moro begon ook nog met Dinamo Moskou aan 2022/23, maar sloot in augustus 2022 op huurbasis aan bij Bologna. Dat lijfde hem na afloop van het seizoen definitief in.