Sorry for taking so long to reply. I cannot manage to reproduce behavior that seems incorrect. I'm working off the master branch of the github repository. For example, if I do:
ds = yt.load('enzo_tiny_cosmology/DD0010/DD0010')
p = yt.SlicePlot(ds, 'x', 'density')
p.annotate_scale(corner='lower_right', coeff=5, unit='Mpccm/h')
I get a scale bar that is 5 comoving Mpc/h long and it looks to be the correct size. All combinations of axes units and scale units look correct to me. If you can reproduce the incorrect behavior with the enzo_tiny_cosmology data, please send the commands you used and I'll try it out.