You raise some good points about how/where everything is located.

I think the gains in using vectored interrupts would depend a lot on how many interrupts your program uses.
If you use a lot of interrupts then having individual vectors can speed it up quite a bit since you don't have to test the IE and IF flags for each interrupt.
If you only use one or two then the gain might not be that much, if any.

I suppose you could have different vectors storing different context data so there's that to consider. You might have to do a lot of that by hand, though.

Either way you get the fast hardware context saving for both low and high priorities, so that's a boost (assuming you change DT-INTS to remove that duplicate code).