Hi Ben,
Here’s me trying to cut through the specificity of the question, down to the reason for asking it…
Basically, there are two ways to produce letters with such marks:
1. Define a keystroke (or sequence of keystrokes) to type each required resulting Unicode character, e.g. U+1e43 ṃ
Obviously, this is only possible if there is such a "precomposed" character in the table.
This is what you typically do with so-called "dead keys".
2. Define a keystroke for the mark itself, to be typed after any base character, e.g. U+006d U+0323 producing a combination of m and ̣
This is a more "efficient" way, in that you need only one special keystroke to produce many accented letters.
Another possible advantage is that this way of typing allows you to "stack" marks.
A disadvantage can be that it doesn’t work (yet) in every single application, and the typographic result isn’t always the same.
There are two blocks in Unicode with "combining diacritical marks" just for this usage.