A way to make non-origin companions, if halsin was ever made one, make more sense would be that they join at a set level.
For example, if Halsin would logically be level 5, then he'd join as a level 5 druid but his experience set to the party's.
However, if he was set to join as a level 3 druid and the party was level 4, then he would scale up like the existing companions, becoming level 4.
This would mean that if you got certain origin companions earlier they would possibly be higher level but eventually you will catch up and they will be in line with you, and it also means other companions do not end up falling behind. This would also enable Larian to have copanions already have certain things set, like having Halsin already set as a Moon Druid instead of having the player pick. This would give any non-origin companions a set role they could have.