Interestingly enough, if I move all the intended code other than ISRs to HIGH RAM, the program runs fine.
The entry for .text:_isr : {} > BEGINNING_OF_FLASH is the same for both cases (LOW and HIGH RAM), and any attempt to use other location makes the program not being able to find main(). I suppose this is just because I am not tagging _c_int00 to be moved into RAM too. Also, all the ISRs are shown on RAM space in the map file.