'UMK3 Plus' does not work on official MAME because it needs to load four additional files (i.e. umk-u114.bin through umk-u117.bin) that the official MAME is not programmed to do. so it's basically not possible to use the official MAME release. I tried to though as after patching the three files and loading UMK3 from terminal/command prompt (as this bypasses the hash check that stops the game from loading when using the typical UI) it gets stuck in a infinite loop during initial load screen. but it's because it's missing the four files (u114-u117) that the official MAME is not programmed to load.
'MK2 Plus' on the other hand does work on official MAME, but you have to start it from command prompt/terminal as this only works because there are no additional files it needs to load (like UMK3 does) and when you run from terminal/command prompt (i.e. 'mame mk2.zip' etc (that zip being modified with MK2+ data)) it bypasses the file hash check that when running through GUI does not and allows the game to start up and work as expected.
but for MK2+/UMK3+ (and other modified MK games), I use HBMAME...
https://hbmame.1emulation.com/ ; I am using the newest one there which is currently 0.245.11 (64bit, GUI) from April 7th 2023. this works with many of the MK hack variations, as I got some setup, but some I can't find the files online, but I got enough of them working, which are... UMK3+ BETA 2/UMK3:TE 2.0.042/UMK3 Ultimate Cup Edition (April 30th 2021)/MK2+. but one I can't seem to find is 'Ultimate Mortal Kombat 3 (UC Edition, 2022-04-06)' as it's named 'umk3uk20220406' where as the one I did manage to get working is 'Ultimate Mortal Kombat 3 (Ultimate Cup Edition, 2021-04-30)' which is named 'umk3uc20210430'. I had to tweak file naming etc, but got it working. but there don't seem to be any places to download those online (at least nothing fairly easy like the usual stuff is) as I used the 'ips' files to patch original UMK3 v1.2 ROM files etc for the rest of those hacks pretty much.
but with HBMAME the file naming needs to be tweaked a bit vs regular MAME, but you can pretty much tell by the file naming on how to rename things as UMK3 loads 27 files (although the umk3.zip I downloaded had four more files (a total of 31 files) which are not needed for UMK3 v1.2 as you need to tweak the 'l1.2[snip].u54' etc NOT the ones that are 'l1.0' or 'l1.1' ending in u54/u63) on a modern 64bit MAME type of emulator. because even when I tried to load ones in HBMAME it shows a error screen showing what's missing and with that info it's easy enough to figure out how to rename things so it works (as the only confusing part is that it seems many umk3.zip ROM files online contain what I think are also older files for earlier builds that are not needed for v1.2 of UMK3 as this is what might be a little confusing until you learn a bit more).
basically a more modern 64bit MAME will basically require the following files for the stock UMK3 v1.2 to work (as this will be typical naming on downloads you can find online easily enough) (after the "=" is how the file has to be named for HBMAME to work with it)...
463_mk3_ultimate.u64
l1.2_mortal_kombat_3_u54_ultimate.u54 = umk3plus20220307.u54
l1.2_mortal_kombat_3_u63_ultimate.u63 = umk3plus20220307.u63
l1_mortal_kombat_3_u122_game_rom.u122
l1_mortal_kombat_3_u123_game_rom.u123
l1_mortal_kombat_3_u124_game_rom.u124
l1_mortal_kombat_3_u125_game_rom.u125
l1_mortal_kombat_3_u126_game_rom.u126
l1_mortal_kombat_3_u127_game_rom.u127
l1_mortal_kombat_3_u128_game_rom.u128
l1_mortal_kombat_3_u129_game_rom.u129
l1_mortal_kombat_3_u130_game_rom.u130
l1_mortal_kombat_3_u131_game_rom.u131
l1_mortal_kombat_3_u132_game_rom.u132
l1_mortal_kombat_3_u133_game_rom.u133
l1_mortal_kombat_3_u3_music_spch.u3
l1_mortal_kombat_3_u4_music_spch.u4
l1_mortal_kombat_3_u5_music_spch.u5
l2.0_mortal_kombat_3_u2_ultimate.u2 = umk3plus20220307.u2
umk-u110.bin
umk-u111.bin
umk-u112.bin
umk-u113.bin
umk-u118.bin
umk-u119.bin
umk-u120.bin
umk-u121.bin
basically with the 'UMK3P_BETA_2.zip' (which you can find online) it comes with three 'ips' files and four additional bin files which you copy the bin files to your UMK3+ folder...
umk-u114.bin = umk3plus.u114
umk-u115.bin = umk3plus.u115
umk-u116.bin = umk3plus.u116
umk-u117.bin = umk3plus.u117
but the 'Lunar IPS' program (which is easy to use) is used to load the 'ips' file and then output it to the correct .bin file. you are only patching the u54/u63/u2 files (you can easily reason out which ones they are by how things are named above) with Lunar IPS as the rest are as they already are.
then (for HBMAME) I just create a folder called 'umk3plus20220307' in the 'roms' folder with those files in it. note: alternatively I think you can zip those files and name it 'umk3plus20220307.zip' etc.
now HBMAME works without issue on UMK3+ BETA 2 (from March 7th 2022).
for MK2 (newest stock game version L3.1) to MK2 Plus (newest one from Dec 2018) (it uses 7 'ips' files) for use on HBMAME as there are twenty files one needs (along with the HBMAME file naming after the "=" part)...
l1_mortal_kombat_ii_game_rom_ug14.ug14
l1_mortal_kombat_ii_game_rom_ug16.ug16 = mk2s04.ug16
l1_mortal_kombat_ii_game_rom_ug17.ug17
l1_mortal_kombat_ii_game_rom_ug19.ug19
l1_mortal_kombat_ii_game_rom_ug20.ug20 = mk2s04.ug20
l1_mortal_kombat_ii_game_rom_ug22.ug22
l1_mortal_kombat_ii_game_rom_uj14.uj14
l1_mortal_kombat_ii_game_rom_uj16.uj16 = mk2s04.uj16
l1_mortal_kombat_ii_game_rom_uj17.uj17
l1_mortal_kombat_ii_game_rom_uj19.uj19
l1_mortal_kombat_ii_game_rom_uj20.uj20 = mk2s04.uj20
l1_mortal_kombat_ii_game_rom_uj22.uj22
l1_mortal_kombat_ii_sound_rom_u2.u2 = mk2pb2.u2
l1_mortal_kombat_ii_sound_rom_u3.u3
l1_mortal_kombat_ii_sound_rom_u4.u4
l1_mortal_kombat_ii_sound_rom_u5.u5
l1_mortal_kombat_ii_sound_rom_u6.u6
l1_mortal_kombat_ii_sound_rom_u7.u7
l3.1_mortal_kombat_ii_game_rom_ug12.ug12 = mk2s04.ug12
l3.1_mortal_kombat_ii_game_rom_uj12.uj12 = mk2s04.uj12
on HBMAME I put those files in the 'mk2s04' folder in the roms folder. but like I was saying, alternatively one can start MK2+ from the official MAME if you do it from a command prompt/terminal with say 'mame mk2.zip' (or I think 'mame mk2' will work if it's in a mk2 folder instead of zip). but it's probably more convenient through a nice GUI which is why HBMAME (and a small amount of others online) is probably easier.
also, fairly recent MAME versions use XML files for cheats which is nice as you can easily access the EJB Menu by simply enabling it (through MAME's 'Cheat' menu), then pressing 'block' button on Player 1 as trying to do that with the more official 29 buttons presses of block in a certain order is probably not going to happen for many people (I doubt I could do it as the speed and accuracy required is too fast for me).
but to enable the 'Cheat' to show up in MAME (when pressing 'Tab' key after game is loaded up) you got to have the 'mame.ini' file as on Linux (which I imagine is similar to your Steam Deck(?)) from terminal, using official MAME, I just did 'mame -cc' from terminal which creates configuration files in your home directory then you can edit and scroll down to 'core misc options' and where it says 'cheat' change '0' to '1' and save. in HBMAME it's a bit easier as you can enable 'cheats' through it's GUI (or edit the ini files in 'ini' folder) and then just create a 'cheat' directory where 'hbmameui.exe' runs from and store your xml fles here (or alternatively, compress them to a 'cheat.zip' should work to).
also, on Linux... by default the system installed MAME (apt install mame) will look for roms in ones home folder at "/home/user/mame/roms". you will basically have to create both folders.
as a bonus with more recent MAME versions is the controls configuration screen is named properly with 'High Punch' etc instead of 'Button 2' etc which makes it much less confusing to configure it vs the old way. but those on the older MAME versions the button config is like...
Button 2 = High Punch
Button 5 = Block
Button 3 = High Kick
Button 1 = Low Punch
Button 6 = Run
Button 4 = Low Kick
on my X-Arcade stick (I got the old dual stick model with serial port but I bought USB adapter for it a long time ago now. I bought this sometime in the 2000's decade) I programmed the 2 SLOT (using PS/2 keyboard) so that I only got to program the 'run' button once and it take effect for both run buttons (basically top center and very bottom left button) so I don't have to program more than one key in MAME basically.
but just as a quick test with my wireless XBox360 controller the official MAME see's my button presses. so one should be able to use a fairly modern controller without issue.
I figure this might help you a bit, or potentially someone else who finds this post in the future
p.s. I am on Linux Mint 21.1-Xfce (with a i5-3550 CPU and a 1050 Ti 4GB GPU) and HBMAME works through Wine. but the official MAME build currently offered on Linux Mint 21.1-Xfce through software repositories is MAME 0.242 (i.e. 'apt install mame' from terminal). I also played around with 'FinalBurn Neo' on Linux and got MK2+/UMK3+ working but it's older and is not up to more current standards etc I guess one could say.