A native speaker (US) told me that this is not right:
Tomorrow it will have been a year since we came.
I keep wondering why is that? Is it not expressing that by that time (tomorrow) it will have been a year..., i.e. expressing that something will have finished, in this case "being for less than 10" years?
At the same time, this was considered correct:
Tomorrow we will have lived here for a year.