Let me start with an observation that we make with everyone new to LWJGL and/or OpenGL: Your problems/confusions stem from the fact that you confuse what LWJGL actually is and what information ("LWJGL tutorials") you are seeking.
LWJGL is a Java/native binding library (plus some infrastructure functionality such as loading native libraries and handling native memory). That means its primary focus lies on providing direct Java bindings for native libraries, such as OpenGL, GLFW, OpenAL, Vulkan and many others.
When you program against the OpenGL API, LWJGL itself does not require or make use of any particular style or version of OpenGL. You can decide whether you want to use immediate mode, retained mode, with or without shaders, etc.
Nothing in LWJGL will limit you to using any particular library or any way how to use a particular library, such as OpenGL.
The main lwjgl3-wiki GitHub page makes this also clear. Please read this thoroughly:
https://github.com/LWJGL/lwjgl3-wiki/wiki#welcome