Yeah, this should be common software engineering problem for a senior engineer
In the beginning, there is only one data model used both externally and internally, to keep things simple. Now that they're diverging, it's time to draw an abstraction boundary that translates between internal and external models.
I'm not super strong with Java, but subclassing to handle v1/v2/vX doesn't sound like the right thing to do. I'd detach the old model from the API while otherwise keeping it unchanged, implement a new pathway to connect with the new API, then translate in/out of the old model before it passes into the existing system. This way, the surface area of change and of integration is isolated and decoupled from everything else.