OpenGL doesn't have a "memory model", that's implementation-dependent (i.e. up to the driver).
However, the specification states (page 9):
Commands are always processed in the order in which they are received...
Therefore if you issue three draw calls, the three draw calls are processed in the order in which you issue them.
Furthermore, individual vertices in each single draw call are also processed in the same order they appear in your source buffers, again from the specification but this time page 8:
Data such as positional coordinates, colors, normals, texture coordinates, etc. are associated with a vertex and each vertex is processed independently, in order, and in the same way.
Note that some drivers may be a little "creative" about this, and behave as if commands or vertices were processed in order; typically this would be a performance optimization (e.g. for parallel processing) and anything you may do that depends on them actually being in order might disable that optimization. How much of a factor that is would vary from application-to-application and from driver-to-driver so general guidance can't really exist.