I think both machines must use a Motorola 6845 CRT controller, which is intended for character-based screens. It does not scan the video RAM sequentially, but in the way described by the GP, (all first char rows, then all second char rows, etc, with each chars rows stored sequentially in RAM)
I spent some time looking into this and found I was wrong - CRTC does generate linear addresses but the beeb (and possibly the CPC) translates them to the character-based screen format in hardware.