Everything you mentioned is pretty much it! However I am unsure if its possible suppress parts of a built-in gamemode to fit what I need? Hence why I asked if it was possible to accomplish something like it with datapacks. It had defintely crossed my mind though!