You can't have a script extend a scene, that doesn't make sense. Those are two distinct concepts.
A script only extends other scripts (or engine classes), and scenes only inherit other scenes.
So yes you can have a scene inherit another. And you also can have the root script of the derived scene to also extend from the root script of the base scene, it just needs to be like this:
DerivedScene.tscn ---inherits---> BaseScene.tscn
DerivedScript.gd ---extends---> BaseScript.gd (optionally)
Note that if you used embedded scripts (i.e not saving them to a file), then of course it's going to be difficult to extend from. Embedded scripts are completely anonymous (so can't be referred to) and are just a byproduct of the fact resources in general can be embedded. Besides, that doesn't even work with C#.
I can use extends "res://Scripts/BaseGame.gd" but then I can't access BaseGame.tscn's nodes!
You can. Maybe auto-complete doesn't work correctly in that case, but accessing nodes will definitely work.
You also can even if you decide to have the same, or a completely different script on your root node.