To me,
Johnny is no more juvenile than
Charlie,
Danny,
Billy or
Bobby. It's not something I prefer for a grown man and certainly not something I'd name my son for that very reason (a nn is a different story). Is it ok? I think it would depend on the individual. Some mind and some don't. That's why I prefer the option of a formal name for children.