It ends up that using grid is the answer:
grid::grid.newpage()
vp <- viewport(x=0.5,y=0.5,width = 7,height = 3)
vp_sub <- viewport(x=0.6,y=0.85,width=0.4,height=0.20)
png("my_plot.png", width=6, height=4, units = "in", res=300)
print(pAM, vp=vp)
print(pAK, vp=vp_sub)
dev.off()