I can get the points to line up with the bars by spreading the ylim of the second plot a little beyond the limits of 1 and 20 that it would have judging from the data. Unfortunately, I do not know a formula for doing this, I just try different values. Obviously, this is not an elegant solution.
opar<-par(no.readonly=T)
DF <- data.frame(A = LETTERS[1:20], B = seq(1.5, 20.5), C = 1:20)
par(mar=c(5,5,7,10)+0.1)
par(cex.axis=0.6)
mybar <- barplot(height = DF$B, names = DF$A,horiz=TRUE, las=1, xaxt="n", col="red", xlab="A",
xlim = c(0,21))
title("control vs AD up Bioprocess",line=4,adj=0.5)
axis(side=1,at=1:21)
par(new=T)
plot(DF$C, DF$A, type="o", pch=19, lwd=2, col="yellow", cex=1.2, ann=F,
xaxt="n", yaxt="n", xlab="Gene number", ylim = c(0.6, 20.4))
#axis(side=3,at=c(0,pretty(max(Count),n=4)))
axis(side=3,at=1:20)
mtext("Gene number",3,line=2)

par(opar)
Created on 2019-09-23 by the reprex package (v0.2.1)