Fatti: A. Con sentenza del 9 giugno 2016 la Corte delle assise criminali ha dichiarato A._ autore colpevole di infrazione e contravvenzione alla legge federale sugli stupefacenti, coazione ripetuta, estorsione in parte tentata, lesioni semplici e vie di fatto. L'imputato ha commesso i reati nel periodo tra la fine di luglio del 2014 e il 23 settembre 2014 presso il carcere "Lo Stampino", ove era detenuto per l'esecuzione di una precedente condanna. Per questi reati, la Corte delle assise criminali lo ha condannato alla pena detentiva di 30 mesi e alla multa di fr. 200.-- ed ha ordinato il suo internamento giusta l'art. 64 cpv. 1 lett. a CP. B. Adita dall'imputato, la Corte di appello e di revisione penale (CARP) ha parzialmente accolto l'appello con sentenza del 20 aprile 2017, prosciogliendolo dall'imputazione di vie di fatto e da quella di coazione limitatamente a determinati fatti. Ha per il resto sostanzialmente confermato le imputazioni addebitategli e lo ha condannato alla pena detentiva di 25 mesi e alla multa di fr. 100.--, commutabile in una pena detentiva sostitutiva di un giorno in caso di mancato pagamento. La CARP ha per contro negato i presupposti per pronunciare un internamento ed ha ordinato nei confronti di A._ un trattamento stazionario ai sensi dell'art. 59 cpv. 1 CP, disponendo contestualmente la sospensione della pena detentiva per consentire l'esecuzione della misura. C. A._ impugna questa sentenza con un ricorso in materia penale al Tribunale federale, chiedendo in via principale di annullarne i dispositivi che ordinano un trattamento stazionario e la sospensione della pena detentiva per consentire l'esecuzione della misura, di dichiarare espiata la pena detentiva di 25 mesi e di ordinare la sua scarcerazione immediata. In via subordinata, chiede di stabilire che la misura del trattamento stazionario decorra dal 23 settembre 2014, quando è stata ordinata la sua carcerazione preventiva, o in subordine dal 17 novembre 2014, quando è iniziata l'esecuzione anticipata della pena detentiva. In ogni caso chiede di accertare una violazione del principio di celerità e di essere esonerato dal pagamento delle spese giudiziarie della sede federale. Il ricorrente postula altresì che gli sia riconosciuta un'indennità ai sensi dell'art. 429 CPP per le spese di patrocinio relative alla procedura di ricorso dinanzi al Tribunale federale, riservato un eventuale indennizzo per l'ingiusta carcerazione subita. D. Con risposta del 14 giugno 2017, la Corte cantonale contesta le argomentazioni ricorsuali e si riconferma nella sua sentenza. Il Ministero pubblico ha comunicato il 20 giugno 2017 di non avere particolari osservazioni da presentare al ricorso. Il ricorrente ha replicato il 3 luglio 2017 confermandosi nelle proprie conclusioni. Il Ministero pubblico e la CARP hanno comunicato l'11 luglio 2017, rispettivamente il 14 luglio 2017, di non avere ulteriori osservazioni.