Unfortunately, neither the first nor the last way is customiseable (and I consider changing the locale pretty brute-force …), or at least not according to the Mac experts I asked when I did a deep dive (which, to be fair, was long ago, before iOS even existed). You can always use the Unicode picker, but, if you never use, say, Opt-Z for Ω and want to re-bind it to something else, or if you wish the 'o' long-press menu included ő … too bad!
(I admit I am engaging in the rhetorical tactic of confidently asserting that something is impossible in the hopes that someone will be lured to come along and correct me, so that I can be happily wrong.)
You can do so by defining a custom keyboard layout. This is quite convenient with Ukelele https://software.sil.org/ukelele/ : you can take any existing layout (e.g. the one that is currently active) and then change all key mappings, including which keys are dead keys etc. I used this to create a modified EN-US keymap where Alt-A/O/U produces the corresponding umlaut versions directly, and Alt-S produces German ß (so that when I have to write German text I can do so quickly and conveniently)
There used to be a way to define your own keyboard decoding, but I don't know if you still can, nor how flexible it is. I'm guessing it won't be Turing complete.
(I admit I am engaging in the rhetorical tactic of confidently asserting that something is impossible in the hopes that someone will be lured to come along and correct me, so that I can be happily wrong.)