Thanks for double checking. I see, so before it used to work if the Numpy type and C++ type was of the same size in bytes (which was not the case in my reproducer).
So indeed this is a regression then, and I have opened an issue about it:
We’ll work on this together with the cppyy developers, so this can be fixed in one of the upcoming ROOT versions.