The original record (not the card index cited in "New Hampshire Birth Records Early to 1900") can be seen at https://www.familysearch.org/ark:/61903/3:1:3QSQ-G9XF-4NK8 (top row, second record from left). This is the birth record for John Johnson's son Fred. What is very evident from the original record is that the "correction made from family bible" refers to Fred's first name - the name originally put in the record was erased, and "Fred L." was instead written in with the same handwriting as "correction made from family bible."
Thus, this record has always said that the father, John, was born in Fitchburg. But also note that this is not John's birth record - this is the 1886 birth record of John's son Fred, in which the doctor who attended Fred's birth states that Fred's father John, age 40, was born in Fitchburg. Who knows from where the doctor got that information?
So how does this compare to other records? The 1870 census and 1880 census both claim that John B. Johnson was born in Connecticut. In an 1874 birth record for an unnamed child he was said to be from "Canada, P. Q." (i.e., Quebec). Two others, from 1876 and from 1879, have him born in New Haven, CT. The 1900 census states that both he and his parents were born in Connecticut. His 1916 death record states that he was born 7 Jul 1838 in New Haven, CT, to blacksmith Richard Johnson and Bessie Roberts.
According to the 1840 census (sorry, this is an Ancestry.com record, I haven't found it yet at familysearch.org) there was indeed a Richard M. Johnson, in his 20s, with wife and young child under 5 (albeit female, not male) living in New Haven - and the 1840 city directory shows him to have been a blacksmith. Thus, the information on John's death record is probably accurate.