I’ve never tried to backup and restore the EEPROM with pymcuprog and don’t know if you have to specify all sections when flashing. But I see that you don’t use —erase while writing. Not using this option will cause all set bits to stay set, i.e. your updated firmware will misbehave.
You can also try the latest release of avrdude which should support the tinyAVR-0/1. There are some examples in this thread: Adventures in TinyAVR 1-Series - #294 by gchart