The firmware of this GPON ONT SFP module can be updated using the web interface (Management | Update Software):
The web interface only accepts image files with a special header. These can be created by adding the header to a flash dump.
.img unmodified mtd2 / mtd3 flash dump
.upf with header (can be installed using the web interface)
V1.00 is based on OpenWrt 12.09. Deutsche Telekom (Germany) seems to stick with this branch.
V1.00(ABVJ.0)b3s (2020-12-23)
V1.00(ABVJ.0)b3v (2021-05-08)
V1.00(ABVJ.1)b1e (2023-07-26) (no ssh)
V1.00(ABVJ.1)b1i (2026-02-06) (no ssh, known compatibility issues)
V2.50 is based on OpenWrt 14.07. Wind Tre (Italy) upgraded to this branch at the end of 2022.
V2.50(ABVJ.1)b1d (2023-04-21)
V2.50(ABVJ.1)b1f (2023-07-14)
Both branches are maintained separately, so a 1.00 image can have a later build date than a 2.50 image.
Create flash dump of mtd2 or mtd3 (Image A / Image B):
dd if=/dev/mtd2 of=/tmp/mtd2
Download flash dump from SFP (e. g. using TFTP).
Download header file and add it to flash dump:
cat header mtd2 > firmware.upf
Copy software version string from flash dump to header:
dd if=firmware.upf of=firmware.upf bs=1 skip=632 seek=124 count=32 conv=notrunc
Get CRC32 of firmware.upf:
v=$(cat firmware.upf | gzip | tail -c 8 | head -c 4 | hexdump -e '1/4 "%08x"')
Convert CRC32 to binary and write it to header:
echo -e -n "\x${v:0:2}\x${v:2:2}\x${v:4:2}\x${v:6:2}" | dd of=firmware.upf bs=1 seek=104 conv=notrunc

I was using V2.50(ABVJ.1)b1f, yes. This has SSH and worked just fine (Deutsche Telekom infrastructure / ISP Telefonica o2). Switching between V1.00 and V2.50 images works just like any other update.
I've now switched to V1.00(ABVJ.1)b1i and will probably keep using this. Works fine for me and I don't really need SSH (although it would be nice of course).