In-universe, Picard's info for "Constitution Class" at the time in the 24th century is correct. Also, in-universe, the "Starship Class" plaque on the TOS Enterprise in the 23rd century is also correct.
For a real life example, take USS Boston (CA-69). Today, most sources will say she's a Baltimore Class ship and that is true because she was commissioned as one in 1943. But in the 1950s, she became the lead ship in her own class as she was re-classified as a Guided Missile Cruiser and even got her own designation (CAG-1). There would have been "only two like her (USS Canberra)". In the late 60's, she was re-classified back to a Heavy Attack Cruiser and also got back her original ship registry, CA-69.
If you were to ask about the USS Boston in the late 50s, you would've been told, "Boston Class." Today, "Baltimore Class" would suffice.
Edit: And regarding Picard's info: "Captain James T. Kirk" leaves out "Admiral James T. Kirk". Again, this suggests that the info on the Enterprise and Kirk omitted information or only showed the final disposition of ship and crew...
Yet none of what you have listed deals with the fact that the Constitution
-class nomenclature goes back as early as the first draft of the episode "Space Seed".
And, once again, Roddenberry was executive producer of The Naked Now
which clearly identifies the ship as Constitution
The Naked Now wrote:
RIKER: Captain, I believe we've have the answer to what happened over there.
PICARD: (reading the screen) The Constitution class Enterprise, Captain James T. Kirk commanding.