The backported version didn't explicitly create the ProductAttribute instances before assigning and so they didn't save.