I’m not sure if it’s possible, haven’t tried. But typically, when I come across a “final”, “epic_internal” or built in native type, I wrap it in a custom class and use that custom type throughout the code base instead, make the underlying value type accessible through getter methods. Keep it as simple as possible and the methods only for working with that type. This is actually a good practice to follow. It provides you with an additional level of abstraction / indirection. If any code changes in the native type or implementation you only have to address it in your custom wrapper, making the rest of the application code agnostic to the change.
In other words, composition over inheritance, create a wrapper class and in your code, access the vector through custom functionality via your wrapper class. Make a vector3 member on the class, call it Position or whatever you’d like.