No solution yet — I've been kind of hacking away on this one trying to figure it out (I'm super confused by the fact that they don't line up even without the scales::dollars() transformation.
But one change it occurred to me that might be making a difference is that tidy evaluation tools are needed to compute on the mapping of existing ggplot2 objects (Kara Woo described this in an earlier iteration of the release notes here).
Could be totally unrelated, just thought I'd put it out there. I'll keep on plugging away, so please let me know if you figure it out!
library(ggplot2)
df <- data.frame(x = rep(c("A", "B", "C"), 100),
y = sample(c(20, 20e6, 1e6, 50, 100), 300, replace = TRUE))
ggplot(data = df, aes(x, y)) +
geom_boxplot() +
scale_y_log10(sec.axis = sec_axis(~.*0.85))

Another weird, incorrect, but kinda sorta maybe getting there result — have you tried doing the log10 transformation inside of scale_y_continuous()
library(ggplot2)
df <- data.frame(x = rep(c("A", "B", "C"), 100),
y = sample(c(20, 20e6, 1e6, 50, 100), 300, replace = TRUE))
ggplot(data = df, aes(x, y)) +
geom_boxplot() +
scale_y_continuous(labels = scales::dollar, trans = "log10", sec.axis = dup_axis(trans = (~(log10(.*0.85))), labels(derive)))

Created on 2018-07-09 by the reprex package (v0.2.0).