Unfortunately, it's impossible to create new factions, but this can be bypassed:
1) New heroes (let's say, after the human heroes, come the Naga heroes)
2) Start the game with a human castle and a Naga hero
3) Bring the Naga hero to the human castle, and it will transform into a Naga city. As I understand it, the problem lies in choosing from eight factions. It's impossible to add them there. And the first mod for the Sanctuary was precisely a ninth city, which was placed in the map editor.
4) The script only works on the first day of the game and only once.
5) Play as Naga. Profit.
It looks quite feasible, just not very aesthetically pleasing. But, at least, the original factions will remain accessible.
This can be implemented in a scenario. As far as I know, the mapmaker Ogo was creating something similar.