You can use Matrix4f.store(FloatBuffer).
Also, Buffer.flip() is for flipping the mark and the size.
The mark is marking the current position in the buffer (see put()), and when you finished putting things into the buffer, you call flip(). This will make the mark to be reset, and the size to be set to the mark
Though there are endian "issues", the name for "flipping" the endian order, is setting the native byte order, see order().
Oh, and FloatBuffers are not the LWJGL ones anyway. We don't have permission to change them. They're in java.nio from the Java SE.