Hi George,
Let’s see if I can help you.
The PDF manual, available via Ukelele’s Help menu, includes a thorough
introduction & discussion of dead keys, but I agree that at first,
it can be a difficult concept to grasp.
Especially if you are typing in Indic fonts, where much more is going on than just the keyboard layout:
As you probably know, the f key on keyboard layouts for Indian languages produces a halant/virama, a character indicating removal of the previous character’s inherent vowel.
Depending on the used font and the previous character, typing the halant often triggers a substitution: the original character + the halant are replaced by a "vowel-less half character."
It’s crucial to realize that this is not a function of the keyboard layout!
Inside the font, there are instructions for macOS (or: the active application) how to substitute characters based on context.
In practice, this means that you cannot change that behavior – except that you can insert a "non-joiner" between the two characters, effectively preventing them from being substituted.
When you type the f twice on your keyboard, or at least on the original you based it on, you probably insert that non-joiner character.
I say "probably" because it depends on the active keyboard layout.
Therefore, to be able for us to better understand your situation, please:
• ZIP your custom keyboard layout .bundle and attach it to a post here.
Also please specify the Apple keyboard layout you based it on, in case that is not obvious from your layout.