Isn't oni more of a generic "big monster" thing? Seems more appropriate to translate it as whatever it most resembles in a given setting. Usually an ogre, but whatever.
Mostly no. Oni is one of the few terms of that sort that actually seem to be pretty consistently used to (mostly) talk about a specific sort of critter. Those short-horned loinclothy critters. Suika (the touhou FD posted) is a bit of a divergence, really, and she still has the horns and some of the characteristics (size (because she very cheerfully turns gigantic), belligerence, monstrous strength, etc.). There's exceptions, of course, but it's a case of exception making the rule, from what I've seen.
And yeah, to the discussion, oni is almost always translated as ogre.
The yokai thing... I'm not really sure spirit would be a good word for it, exactly. The class of critter in question has a
very strong predilection towards being either malevolent or, at the least, vastly irritating. Even the ones that aren't
necessarily one of those two tend to have a trigger button of some sort that turns 'em that way. Spirit is a bit too neutral for the things... they'd honestly be closer to old school fae than just about anything. Is reason yokai usually gets translated as demon, basically.
As for akuma... that is more or less
also demon. Just... moreso. Kinda' like the D&D distinction between demon and devil, I guess. There's nuances to it that don't really translate well to a single word english equivalent, though, iirc.