Still fiddling, but I don't think most of the typical JSON flags work when applied to OBJ files. I think the reason is that things like coords for the UV textures are actually part of the OBJ file itself, and therefore get overriden. Since a typical JSON file just deals with code-generated blocks, I don't think they have this hardcoded limitation. For example, so far I now need a separate model, with appropriate UV coords, just to define a block that's upside down, since the faces on the side of the block have to be rotated 180 degrees to avoid the issue in my previous screenshot. That works. However I then discovered that I'll need an additional OBJ model for north/south, east/west, since the top and bottom faces would need their UV coords changed to match what the vanilla blocks' textures are. I looked at the OBJ file format and did some experimenting, and there's no way to uncouple the UV mapping from the model; doing so results in invisible faces. Therefore I don't think OBJ is a suitable pursuit for this project, as it is too encumbered by having to have static files define every detail. While I haven't looked into trying to implement a custom OBJloader / OBJmodel, I suspect that as long as I'm using static OBJ files, I'm going to be stuck making a mess-load of them just to do basic orientation of the textures applied to each face.
I'm probably going to abandon this pursuit, but I'll see if there's a way to generate a non-cubic model in Java, instead of using static OBJ files. Working in Java would be significantly more flexible I'd expect, since by nature static files don't have as much accessibility to the code (and basically, if it did, it would be an override in the code anyway). I'll mark this thread resolved since the original issue was resolved (thank you!) but I think OBJ files for non-cubic shapes are too cumbersome for what I'm trying to accomplish.