If you haven't tracked the cause of this down yet, it looks like the interpolation options being used for face-varying data differ between your use of OpenSubdiv and Maya.
Face-varying data can be interpolated linearly, smoothly (using the same rules as the subdivision scheme) or a combination of the two (smooth in the interior and linear at various features along seams). If you're not familiar with the face-varying interpolation options, the full set is described in more detail in the
documentation here.
The default in OpenSubdiv is the "linear all" option, so that is what you are likely getting from the tutorials. The more common choice for smooth interpolation is "linear corners only" (OpenUSD uses this as its default).
Given your results look as expected in Maya, Maya is likely using one of the smooth interpolation options -- in contrast to the linear results you are getting using OpenSubdiv directly. Maya should let you change the option interactively. Depending on what you are doing with OpenSubdiv, you can explicitly assign it in the source code or in your .obj files (for use with OpenSubdiv only).