I've been investigating this question a bit more.
It seems to me that the functionality I'm looking for is not supported in MAME now (i.e. the whole area of a screen_device is the visible area being refreshed at frame rate).
So the choice would be between altering the timings to have a (fake) 720x455 screen that's only filled in the relevant text/graphic part or keeping the timings and have a non-faithful rendering of the screen image.
But I think I found a workaround. I could play with the x/y stretch & offset to achieve the wanted effect.
For example, if I want the 720x375 text mode, I set the y stretch to 375/455 and the y offset to center everything.
For the graphic mode I would set the x stretch & offset.
I can hear someone of you screaming at me at this point that those parameters are not meant to be (ab)used this way...
Or is it a valid idea? I would need to change the screen & renderer interface a bit in order to be able to set these parameters dynamically, of course.