How can I offset x-axis plot tick's labels?

Add a tick with a sufficiently large length in the negative direction:

off = {0, .3};
ticks = Prepend[Charting`ScaledTicks["Linear"][2000, 5000, {10, 5}], 
  {2000., "", off, Red}];

Plot[x, {x, 2000, 5000}, PlotRange -> {{2000, 5000}, {2000, 5000}}, 
 LabelStyle -> {28, Black, Bold}, Ticks -> {ticks, Automatic}, 
 ImageSize -> Large]

enter image description here

Use off = {0, .03} and change Red to Opacity[0] to get

enter image description here


Here is a relative simple way to do it.

Plot[x, {x, 2000, 5000},
  PlotRange -> {{2000, 5000}, {2000, 5000}},
  LabelStyle -> {20, Black, Bold},
  Ticks -> 
    {{#, Column[{"", #}, Spacings -> 0]} & /@ Range[2000, 5000, 500], Automatic},
  ImageSize -> Large]

plot