Nikolai, definitely!
With no context:
Nicholas usually ends up as
Nick, and it's boring either way.
Nikolai could end up as
Nick, but it's easier to use a different nickname like
Niko. I also just prefer the full name of
Nikolai instead of
Nicholas.
I think
Kai is good, maybe a stretch though. I'd prefer
Niko for
Nikolai or
Nico for
Nicholas (or
Nicolas. I don't really like it with the h, and
Nicolas is closer to
Nicola anyway).
But keep in mind that saying "he'd go by ___" is just a fantasy on your part, if this is an actual baby you have no idea what nickname he's going to prefer, if any.