Yes, zehngeschossig and neunstöckig can mean the same building.
The reason is that
Geschoss means floor (everything that is on one level). There is, consequently, also an Erdgeschoss (ground floor), a Dachgeschoss (attic or so), Zwischengeschoss (some lesser floor intermediate level, e.g. for keeping auxiliary rooms), etc.
Stock always means a level of the building put on top of the ground level parts of the building. You may also say Stockwerk (synonym). So, as a consequence, if you say Stock you refer to one of the Obergeschosse, but not the Erdgeschoss. Der erste Stock always means the floor above ground level, der zweite Stock means floor Number 3 (if you count ground level as floor Number 1).
Notably, there is no Erdstock! (I made this word up here.)
Admittedly, in everyday German, people often confuse this. But architects and other experts should know the difference and use it correctly. It may happen that people say Komm mich besuchen. Meine Wohnung ist im zweiten Geschoss, where they actually mean im zweiten Stock, i.e. third floor. But you will probably more often hear Meine Wohnung ist im zweiten Stock (correctly used).
More confusion: there is also a problem with Etage, which actually should be synonym to Geschoss, but people sometimes falsely use it for Stock. Ich wohne in der ersten Etage can - in everyday life - mean both: "I am living on ground floor", or "I am living on second floor". The foggy use of Etage is recorded even in the Duden dictionary where we read: "Etage: Geschoss, besonders Obergeschoss."
Take-away conclusion: If you use the terms, try to use them correctly. If you find the terms used somewhere (in a description of an apartment to rent, or whereever) you have to judge by the environment (where is it published, how is the level of German used there, is it a publication with expert editors, or some everybody media...) what they could actually mean by zehngeschossig or zehnstöckig.
PS: Your dictionary seems to be a good one.