@zambu, sono diversi mesi che con l’italiano per impostazione predefinita, il doppio apice non è attivo; ne ho dato comunicazione qui sul forum quando ho caricato l’ultima major version di babel-italian; per attivarlo bisogna dare il comando \setdoublequesteactive; bisogna agire in modo analogo per disporre del comando \unit e per disporre della virgola intelligente (questa può essere attivata e disattivata a piacere lungo lo stesso documento). In altre parole ora babel-italian si comporta come gloss-italian, almeno per quel che riguarda le doppie virgolette, perché gloss-italian non dispone né di \unit né di virgola intelligente.
Per saper quali lingue hanno il doppio apice attivo basta leggere la documentazione di babel o di polyglossia; ma l’informazione non è così chiara come sarebbe desiderabile. Per l’italiano, infatti, vi si dice che il doppio apice è attivo.
La cosa migliore da fare per sapere se il doppio apice (o qulunque altro carattere) è attivo bisogna leggere la documentazione della lingua: nel caso dell’italiano bisogna dare il comando texdoc babel-italian per sapere come è trattato con babel; con polyglossia no esiste una documentazione specifica, quindi bisogna usare il comando texdoc polyglossia.
Nel tuo caso specifico non hai bisogno di usare \shorthandoff{“} perché dalla versione 1.3k le virgolette doppie non sono attive per impostazione predefinita.