But wouldn't that contradict with what you said earlier about using "the 'fandom' definitions for ship classes, nomenclature, and all that to come up with the 'answers' to Trek's oddities?"
In canon, there is NO answer at all. In fact, the
Constellation isn't even identified as the same class as the
Enterprise in the first place.

However, we do know writer and designer's intent.
We
also know what Star Fleet was modelled after, the US Navy of the 1945-1965, albeit heavily idealized at points. So, if we're going to look for a sensible answer to the registry issue, knowing full well that this is an attempt to rationalize a Hollywoodism, we do have our starting point.
Why would NCC-1017 be a Constitution class ship, despite the Constitution being NCC-1700? (The latter eventually established on screen.)
There are, as I said, numerous reasons for this. I'll give a couple here:
STC 2243, a group of CAs from the NCC-1015 range are appropriated with funding and resources set aside by comittee for construction in the following years.
STC 2245, CA NCC-1700 and NCC-1701 complete trials, the NCC-1015 series design is now considered obsolete. The series
has not yet been constructed. The resources are kept 'in commitee' for the time being.
STC 2248, with the initial batch of 12 Constitution class ships constructed, Star Fleet expands the class with
existing resources. The resources allocated
but not spent for the NCC-1015 are then allocated to the new ship design.
STC 2250, the NCC-1017 is launched, a minor variant of the Constitution class, due to her different construction period.
STC 2256, a third group of Constitution class vessels is appropriated, the NCC-1760 series.
Etc.
Remember, the NCC references not a ship, but the contract, construction, refit, rigging, and uprating information
around that ship, all starting with initial appropiation. For Star Fleet, so long as the registry number (or code, really) has not already been allocated, it's fair game.
If we to assume that the USS Eagle (NCC-956) really was a Constitution class ship, we really only know that the NCC-956 had not already been used by 2245 STC and that someone really wanted to use that number (for whatever reason, maybe even a really OLD CA contract that was in limbo for 100 years). That's really all that's required.