Rellene los colores en geom_histogram (.. densidad .., grupo = 1)

Tengo un problema básico con la función geom_histogram

Con el conjunto de datos:

df <- data.frame(value = factor( rep(c("A","B"), c(100,200) )))

Creo un histograma con:

ggplot(df, aes(x=value, fill = factor(value))) + geom_histogram()

y la salida es un histograma con un recuento de 100 para A y 200 para B

Si en cambio graficaré la densidad con:

ggplot(df, aes(x=value, fill = factor(value), ..density..)) + geom_histogram()

la salida es un histograma con densidad 1 para A y 1 para B. Supongo que la razón es que la densidad se calcula en A y B por separado.

El histograma creado con:

ggplot(df, aes(x=value, group = 1, fill = factor(value),..density..)) + geom_histogram()

Es un histograma donde A es 0.33 y B es 0.66, pero el color de relleno es negro, y no puedo encontrar una manera de obtener los colores de relleno utilizados en los histogramas anteriores en esta versión de la gráfica.

¿Cómo genero la última versión del histograma con colores de relleno según el factor (valor)?