Well, a bit embarrassing, but it was a simple case of PEBKAC - bad soldering. The chip identifies as 0xEF40, has a proper unique ID, so 0xEF40 or 0 can be used in the constructor as jedecID. Haven't tested yet for OTA, but I'm sure it will just work as DualOptiboot doesn't check the ID and the important SPI commands are the same.