[One (M9+) General] yvtc75:
This is M9pw(One M9+) emmc partitions:

shell@htc_hiau_ml_tuhl:/ $ cat /proc/emmc
cat /proc/emmc
partno: start_sect nr_sects partition_name
mmcblk0p1: 00000400 00001800 "proinfo"
mmcblk0p2: 00001c00 00002800 "nvram"
mmcblk0p3: 00004400 00005000 "protect1"
mmcblk0p4: 00009400 00005000 "protect2"
mmcblk0p5: 0000e400 00018000 "persist"
mmcblk0p6: 00026400 00000800 "kb"
mmcblk0p7: 00026c00 00000800 "dkb"
mmcblk0p8: 00027400 00000200 "seccfg"
mmcblk0p9: 00027600 00002000 "pg1fs"
mmcblk0p10: 00029600 00006a00 "reserve1"
mmcblk0p11: 00030000 00008000 "pg2fs"
mmcblk0p12: 00038000 00000800 "lk"
mmcblk0p13: 00038800 00003000 "secro"
mmcblk0p14: 0003b800 00000400 "para"
mmcblk0p15: 0003bc00 00004000 "logo"
mmcblk0p16: 0003fc00 00000400 "frp"
mmcblk0p17: 00040000 00010000 "hosd"
mmcblk0p18: 00050000 00000800 "htcsec"
mmcblk0p19: 00050800 00005000 "tool_diag"
mmcblk0p20: 00055800 0000a800 "reserve2"
mmcblk0p21: 00060000 0000a000 "fataldevlog"
mmcblk0p22: 0006a000 0000a000 "devlog"
mmcblk0p23: 00074000 00005000 "expdb"
mmcblk0p24: 00079000 00002800 "tee1"
mmcblk0p25: 0007b800 00002800 "tee2"
mmcblk0p26: 0007e000 00010000 "metadata"
mmcblk0p27: 0008e000 00000800 "lkbackup"
mmcblk0p28: 0008e800 00020000 "otafw"
mmcblk0p29: 000ae800 00000400 "sensor_hub"
mmcblk0p30: 000aec00 00000040 "cir_img"
mmcblk0p31: 000aec40 0000a000 "carrier"
mmcblk0p32: 000b8c40 00000040 "control"
mmcblk0p33: 000b8c80 00005000 "battery"
mmcblk0p34: 000bdc80 00091000 "apppreload"
mmcblk0p35: 0014ec80 0001e000 "cota"
mmcblk0p36: 0016cc80 00000080 "extra"
mmcblk0p37: 0016cd00 00000040 "andinfo"
mmcblk0p38: 0016cd40 000032c0 "reserve"
mmcblk0p39: 00170000 000a0000 "cache"
mmcblk0p40: 00210000 00010000 "boot"
mmcblk0p41: 00220000 00010000 "recovery"
mmcblk0p42: 00230000 00938000 "system"
mmcblk0p43: 00b68000 02ec4000 "userdata"
mmcblk0p44: 03a2c000 00008000 "flashinfo"
shell@htc_hiau_ml_tuhl:/ $

while m9ew (One ME) is

shell@htc_hima_ace_ml_dtul:/ $ cat /proc/emmc
partno: start_sect nr_sects partition_name
mmcblk0p1: 00000400 00001800 "proinfo"
mmcblk0p2: 00001c00 00002800 "nvram"
mmcblk0p3: 00004400 00005000 "protect1"
mmcblk0p4: 00009400 00005000 "protect2"
mmcblk0p5: 0000e400 00018000 "persist"
mmcblk0p6: 00026400 00000800 "kb"
mmcblk0p7: 00026c00 00000800 "dkb"
mmcblk0p8: 00027400 00000200 "seccfg"
mmcblk0p9: 00027600 00002000 "pg1fs"
mmcblk0p10: 00029600 00006a00 "reserve1"
mmcblk0p11: 00030000 00008000 "pg2fs"
mmcblk0p12: 00038000 00000800 "lk"
mmcblk0p13: 00038800 00003000 "secro"
mmcblk0p14: 0003b800 00000400 "para"
mmcblk0p15: 0003bc00 00004000 "logo"
mmcblk0p16: 0003fc00 00000400 "frp"
mmcblk0p17: 00040000 00010000 "hosd"
mmcblk0p18: 00050000 00000800 "htcsec"
mmcblk0p19: 00050800 00005000 "tool_diag"
mmcblk0p20: 00055800 0000a800 "reserve2"
mmcblk0p21: 00060000 0000a000 "fataldevlog"
mmcblk0p22: 0006a000 0000a000 "devlog"
mmcblk0p23: 00074000 00005000 "expdb"
mmcblk0p24: 00079000 00002800 "tee1"
mmcblk0p25: 0007b800 00002800 "tee2"
mmcblk0p26: 0007e000 00010000 "metadata"
mmcblk0p27: 0008e000 00000800 "lkbackup"
mmcblk0p28: 0008e800 00020000 "otafw"
mmcblk0p29: 000ae800 00000400 "sensor_hub"
mmcblk0p30: 000aec00 00000040 "cir_img"
mmcblk0p31: 000aec40 0000a000 "carrier"
mmcblk0p32: 000b8c40 00000040 "control"
mmcblk0p33: 000b8c80 00005000 "battery"
mmcblk0p34: 000bdc80 00091000 "apppreload"
mmcblk0p35: 0014ec80 0001e000 "cota"
mmcblk0p36: 0016cc80 00000080 "extra"
mmcblk0p37: 0016cd00 00000040 "andinfo"
mmcblk0p38: 0016cd40 000032c0 "reserve"
mmcblk0p39: 00170000 000a0000 "cache"
mmcblk0p40: 00210000 00010000 "boot"
mmcblk0p41: 00220000 00010000 "recovery"
mmcblk0p42: 00230000 00938000 "system"
mmcblk0p43: 00b68000 02ec4000 "userdata"
mmcblk0p44: 03a2c000 00008000 "flashinfo"

So, maybe M9+ and ME could use the same "custom" recovery.

But you must choose the accurate recovery file for the stock one to get OTA.

You could find the one by means of 0PLAIMG_HIMA_ACE_ML_DTUL.