Thanks for reaching out!
I have never tried to create a UPM recipe that is only able to work with C/C++. Searching on the community, I came across this post from @arfoll: https://communities.intel.com/message/430074#430074. It mentions how to disable Java from MRAA y deleting the BINDINGS variable on the recipe. I believe you have to do the same with your UPM recipe, I suggest you to use this recipe: https://github.com/ostroproject/meta-intel-iot-middleware/blob/master/recipes-devtools/upm/upm_0.7.2.bb as your base and remove all the bindings you don't require.
Also, you could submit an issue about this on UPM's Github page (https://github.com/intel-iot-devkit/upm), that way you'd be able to contact the developers directly which could be of help.
I hope this helps.
I haven't actually identified a need for UPM in my project yet, so I have moved on without it.
Also, I am able to build the latest MRAA without SWIG, java, or node, but it is still pulling in a small set of python dependencies (opkg says that libmraa is the only object in my build that is dependent on anything python).
I understand, I'm glad that you were able to remove as much as possible of the packages you don't need and that you were able to move on without UPM.
Please keep us updated with your project and if you have any doubt, please post it on the community and we'll try to help you in any way we can.