Nationals of Iran are allowed to enter with an expired passport.
Isso é observado no Timatic , o sistema que as companhias aéreas usam para verificar documentos de passageiros antes do embarque, portanto você não deve ter problemas para embarcar em seu voo. Apresente seu passaporte iraniano ao fazer o check-in no seu voo. (Você provavelmente precisará apresentar os dois passaportes aqui devido aos trânsitos do aeroporto.)
Lembre-se de que o Irã geralmente não reconhece a dupla cidadania, portanto você não precisa mostrar seu passaporte canadense a autoridades iranianas. Você precisa trazê-lo com você, porque você precisa mostrá-lo para a companhia aérea para o seu vôo de retorno para o Canadá. Leia mais sobre viagens com duas cidadanias.