Robert Johnson is, as you have probably worked out, a common name and therein lies many a problem.
Did you find all the sailings for the Solon in 1839 ? If not, your subject could be in a missing sailing. I imagine from the type of record involved that the bank could only get the information from the person involved and, where information is not available, they just leave it out. Whilst an error can always creep in, so a year of arrival could be mis-heard, it is more difficult to see how a ship's name could be written so wrongly. But this is really a speculative answer, I don't want to pretend to be able to give you anything solid.
However, the form itself is dated December 1865, which indicates the entries are from 26 years after the actual sailing date. Plenty of room for a memory lapse. But you should remember that the trans-Atlantic sailing took many days, about 2 weeks or more I think, depending on the ship. Would you forget the name of a ship you spent that long on ?
The year of birth is given as 1810 on the bank form, making him 28 in 1838.
So, you have a different birth year, different sailing year, different ship. Everything points to this being a different person to the individual who sailed on the Erin.
Old writing is a nightmare to read, I have to agree.