Aah, I think I'm understanding it now (your F8 assembly listing was Chinese for me.

).
So you have added an extra code to copy this table to a different address, and hap's MAME change just remaps this 'wrong' table address to the correct place.
But then hap's method and your ROM hack should have the same effect, right?
If yes, then changing the mem map in MAME should be the simpler method, because you won't need an extra ROM file!?