Duplicar (e modificar) o eixo discreto no ggplot2

Quero duplicar o eixo Y do lado esquerdo em um gráfico ggplot2 para o lado direito e depois alterar os rótulos dos marcadores para um eixo discreto (categórico).

Eu li a resposta paraessa questão, no entanto, como pode ser vistona página de recompra do pacote, aswitch_axis_position() A função foi removida docowplot funcionalidade nativa do pacote (o autor citado (a ser publicado?) no ggplot2).

Eu vi oreferência página nos eixos secundários no ggplot2, no entanto, todos os exemplos nesse documento usamscale_y_continuous ao invés descale_y_discrete. E, de fato, quando tento usar a função discreta, recebo o erro:

Error in discrete_scale(c("y", "ymin", "ymax", "yend"), "position_d",  : 
unused argument (sec.axis = <environment>)

Existe alguma maneira de fazer isso com o ggplot2? Mesmo uma solução completamente hackeada será suficiente para mim. Desde já, obrigado. (MREs abaixo)

library(ggplot2)

# Working continuous plot with 2 axes
ggplot(mtcars, aes(cyl, mpg))  + 
    geom_point() + 
    scale_y_continuous(sec.axis = sec_axis(~.+10))


# Working discrete plot with 1 axis
ggplot(mtcars, aes(cyl, as.factor(mpg)))  + 
    geom_point() 


# Broken discrete plot with 2 axes
ggplot(mtcars, aes(cyl, as.factor(mpg)))  + 
    geom_point() +
    scale_y_discrete(sec.axis = sec_axis(~.+10))

questionAnswers(1)

yourAnswerToTheQuestion