I've also worked in games for almost ~20 years now (though mainly proprietary engines), but i still do not see where "it depends".
I think you are mixing two separate things: the reusability of an engine isn't really relevant nor what defines the engine. The engine is really the tech that supports the gameplay, nothing more or less. It doesn't have to be a framework or library or shared among projects or anything else. It can be any of those, but these are separate - and similarly a framework, library or any shared code doesn't mean that it is an engine.
I think you are mixing two separate things: the reusability of an engine isn't really relevant nor what defines the engine. The engine is really the tech that supports the gameplay, nothing more or less. It doesn't have to be a framework or library or shared among projects or anything else. It can be any of those, but these are separate - and similarly a framework, library or any shared code doesn't mean that it is an engine.