Farsi keyboard (isiri 9147) has a second "shift" level, which is usually implemented to be accessible when holding Alt key.
for example when in farsi input method, pressing the "d" key should insert:U+06CC = ی
but pressing "Shift + d" should insert:
U+064A = ي
and pressing "Alt + d" should insert:
U+0649 = ى
(trust me it's different from the first one! even though they look similar, it makes a difference when searching for text etc since the unicode code points are different (and they are also read differently ... one is pronounced like i the other one like a, though this is not related to the discussion))
The problem is, in Emacs, when you set the input method to farsi-isiri-9147, when you press M-d, it deletes a word, which is expected, but even when you press C-q M-d, instead of inserting U+0649 = ى, it inserts Latin character U+00E4 = ä)
and I used the d key and letter U+0649 as an example here, there are more keys and letters like this. in general, when in farsi-isiri-9147, when you press C-q M-letter instead of inserting appropriate "second shift level" Farsi letters according to isiri-9147 layout, Emacs inserts Latin characters with diacritics according to English keyboard layout.
this was tested under GNOME Shell 3.34.3 (with gnome/X input method set to EN; since setting it to Farsi, means gnome/X will send Farsi chars to Emacs and thus no Emacs keybinding (e.g. C-f or C-n or C-d or C-x C-s or ...) will work at all)
(other programs including gedit, firefox and bash in gnome-terminal, behave correctly, when gnome input method is set to Farsi; even in Emacs Alt + d works correctly and inserts U+0649 = ى, regardless of what input method is selected in Emacs itself, if gnome input method is set to Farsi, but again, as mentioned, this way no Emacs keybinding will work ... since this way, gnome is directly sending farsi chars to Emacs)
I will attach isiri-9147 keyboard layout standard and some of its tables (the column marked in red, are the unicode characters that should be inserted, when pressing the letters on the rightmost column while holding Alt key.