Why do I not have to use glFlushMappedBufferRange to make write to persistent mapping visible to OpenGL?

In https://www.khronos.org/opengl/wiki/Buffer_Object#Persistent_mapping, and documentation of GL_MAP_FLUSH_EXPLICIT_BIT for glMapBufferRange(https://www.khronos.org/opengl/wiki/GLAPI/glMapBufferRange) , it is said that, if I do not use coherent bit, I have to call glFlushMappedBufferRange to make the write visible to OpenGL. But in a small testing code which deliberately comments out glFlushMappedBufferRange after modification and before glDrawArrays(), all modifications seem working fine, meaning that the modified data are automatically visible to OpenGL when using non-coherent persistent mapping. Why was that? Is it a kind of bonus of nVidia OpenGL implementation? The buffer object is created with GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT flag and mapped with GL_MAP_WRITE_BIT | GL_MAP_PERSISTENT_BIT | GL_MAP_FLUSH_EXPLICIT_BIT flag. I am using GeForce GTX 780 Ti on Windows 10 1803 with most recent driver installed. Thanks.