In the ClassicTestEditor editableElement is created in the class constructor, so it is available before the plugins initialization https://github.com/ckeditor/ckeditor5-core/blob/eb43b632faa036041e58c917204819955beec6e6/tests/_utils/classictesteditor.js#L41
In the ClassicEditor editableElement is created in ClassicEditorUI#init() that is after plugins initialization.
When you use editableElement in the Plugin#constructor or Plugin#init then ClassicEditor will throw but ClassicTestEditor won't.
This is an example, all unit tests of BalloonToolbar are green, but MT throws: https://github.com/ckeditor/ckeditor5-ui/issues/424
This test should be removed after resolving this issue https://github.com/ckeditor/ckeditor5-ui/blob/42ffdca5679c77646faf7d6b44a335602e4f8ed9/tests/toolbar/balloon/balloontoolbar.js#L142-L151.
I think we agreed in the past that we don't reference (UI) View#element in constructors but in init(). So it's not a big deal that CTE works that way but as in https://github.com/ckeditor/ckeditor5-ui/issues/424 we have to remember about that when developing new plugins.
Plugin#init() is still before the EditorUI#init().