...how does it break immersion for a militaristic city-state to gift units? ...They're a CS defined by their attribute of having an extensive or well-trained military. It naturally follows that the most valuable thing they could provide to a bigger ally is indeed a military corps or an equivalent.
Getting a promotion from a CS would just be...awkward and strange. Who gets the promotion? Or does everyone get it? What is the difference between being allied and being friends? What happens when your influence drops to neutral? Does the promotion just go away all the sudden? Or does it stay with you? Doesn't that mean you could make totally game-breaking units by only giving small amounts of influence whenever it drops back down and keep amassing more and more promotions? Is the game even coded to potentially allow a unit to lose a promotion? There certainly aren't any examples of that occurring.
Them giving you units is way simpler, easier, more sensible, and honestly more useful. Getting unique units from them is definitely appreciated...though I kinda wish each militaristic CS had a different UU gift for each era, instead of only ever giving you one that goes away once it's outdated. But that would end up a little silly and probably broken with loads of unique units on the map.