the Home key should always move to the top of the display, the End key should always move to the bottom of the display
I disagree. Home key is supposed to move the "cursor" to "start" and the End key is supposed to move the "cursor" to "end". The matter is, how do we define what "start" and "end" means.
If you use arabic system for instance, the Home key moves cursor to the right end of the line, not to the left one. And yet, cursor keys work normally, i.e. the left arrow moves cursor to the left and right arrow to the right.
Okay this all is just my opinion and I accept that your opinion is different. At least I tried.