The mass of contradictory information I've been able to glean so far got to the point where it was overwhelming the question, so I've split it out into an answer, but still very much want more sources if they exist.
Is it in the stern?
Memory Alpha claims that the stern clamshell is the main shuttlebay, but it's not clear whether they're basing that on anything beyond it seeming obvious. While the page cites The Child, that may only be as evidence that Excelsiors carry Type 7 shuttlecraft.
The main shuttlebay was located in the stern by the landing bay doors, which housed several shuttles of different types, including the Type 7 shuttlecraft. (TNG: "The Child")
However, elsewhere the same page refers to this as a cargo bay:
The Excelsior-class contained several cargo bays, including one located in the aft dorsal section of the secondary hull
There's one statement I can find identifying it as a shuttlebay... when it's used in the kitbash of the Centaur-class:
And yes, the shuttle bay is a shuttle bay. There was no room for it in the rear.
The 2010 book USS Enterprise Owner's Workshop Manual has a couple of double-page spreads about the Enterprise-B which label the stern clamshell as the main shuttlebay, and call it out as such in text:
The Enterprise-B had a single shuttlebay at the rear of the secondary hull.
The Eaglemoss Official Starships Collection magazines that come with the Excelsior and Enterprise-B models (issues 8 and 40) both include graphics labeling the stern clamshell as a shuttlebay. For the Excelsior it's "aft shuttlebay" and there's also a "lower shuttlebay" near the bottom of the secondary hull. For the Enterprise-B it's just "shuttlebay" and the only one labeled.
Is it in the saucer section?
Memory Alpha includes an MSD graphic that seems to be taken from either/both the 1998 book Star Trek: The Next Generation Sketchbook: The Movies, and/or Doug Drexler's website. This is reportedly a detailed reproduction of the Master Systems Display used on set for the Enterprise-B's bridge in Generations, but not clearly visible in the film. This graphic labels the stern clamshell as "cargo bay aft" and locates "main shuttlebay p/s" at the rear of the saucer section / top of the "neck". While I've seen a few fan takes that prefer to interpret the large structures added to the saucer of the Enterprise-B as shuttlebays rather than impulse engines, on the graphic they're labelled as "impulse reaction system" and the shuttlebay detail appears to extend below the bottom of the saucer, so I don't think that can fit. This raises the obvious question of where shuttles actually come and go from a shuttlebay at this location - where are the doors? The "normal" impulse engine exhausts are located quite high up and there is a sort of blank curve out from the bottom of the saucer rim up to them, and there are distinct port and starboard sections to this. Do those curves perhaps conceal bay doors, and the shuttlebays are "under" the impulse engines?
This detail is the real fly in the ointment to me, because it both removes the shuttle bay from the obvious candidate location and moves it somewhere decidedly non-obvious, but it's arguably the most canonical information available as it actually featured on screen (however blurrily). Since it seems like such an odd decision without a clear motivation, I'd be particularly interested in any information on the design process here, statements by Doug Drexler as to his goals in what he put where on the MSD, etc.
Is it at the bottom of the ship?
The question is further confused by other (admittedly less canonical) sources. As mentioned, Eaglemoss has schematics which add a "lower shuttlebay" at the bottom of the secondary hull, around where the mysterious empty space is found on the shooting model. This is only labeled on their schematic for the Excelsior, and missing from their Enteprise-B, which only labels the stern clamshell as a shuttlebay. However, the Enterprise-B magazine includes an MSD which it claims is the one from Generations, but which differs from the version above in a number of key details, including moving the shuttlebay from the saucer to that "lower shuttlebay" location. (Ex Astris Scientia has a scan of this version of the MSD, which it attributes to the TNG Sketchbook already cited. However, I've found at least one video source indicating that the Sketchbook uses the saucer location, so this may simply be a mistaken attribution.) I don't know whether this version of the MSD was made by Eaglemoss to "correct" the other version to be more in line with the model (other changes include moving the deflector from what seems to be a clearly incorrect position), or if they're reproducing work done before them. I'd be very curious to see a source for this version or an explanation of the reasoning behind it. Like the saucer shuttlebay(s), this lower bay has the problem that there are no doors visible on any version of the model that I've seen; there's only the featureless hull of the stern undercut, or the open space of the mysterious void.
To add to the strangeness, despite featuring a page before the schematic that labels the stern clamshell the main shuttlebay and omits any mention of a "lower shuttlebay", this graphic in the Enterprise-B magazine features only a "lower shuttlebay" and matches the other MSD in labeling the stern clamshell as "cargo bay aft"!
Wherever you go, there you are
So there are two basic competing locations: one that seems obvious from the exterior appearance of the ship, but has no explicit identification as a shuttlebay on screen that I know of, and one which doesn't make much sense from the ship's exterior, but is identified as such by set decoration (but which is only legible via behind-the-scenes reproductions - unless the 4K version of Generations makes it more readable?). Then there's at least one semi-official take that contradicts both in confusing ways. It seems likely there's no definitive answer available, but I'd love to see sources I haven't been able to find that shed light on the design and thought process behind the original model and the seeming changes made to how the production crew thought about the ship to produce these contradictions.