This is the behavior that I would expect, this is one time thing and cell sizes should be fixed before adding them.
Rafał (me):
NVMEM cells should be registered as they are in the raw format. No size
adjustments should happen while registering them. If NVMEM cell requires
some read post-processing then its size should be adjusted *while*
reading.
Michael:
.read_post_process() should be realloc the buffer
Miquel:
While registering NVMEM cell its size should be already adjusted to
match what .read_post_process() is about to return.