Well, your question at the beginning was how to vertex paint.
Vertex paint put color information on vertices and color is blended between the vertices by computer. So the color data is simply associated it with vertices. There is no image file behind it.
Texture paint put color information on object faces; it is an image. So before you can do texture painting, there must be an image file to which one can putdown paint. You need to create UV map for that. If you don’t create UV map and image behind it, paint don’t get recorded. Nothing will show.
As for obj file, UV coordinate is part of obj file. You need to have one for the object. And texture will be a image file that you export separately.