This is actually a feature: https://github.com/rails/rails/issues/8328
It's done this way because there is a way to change the data within these stores without marking them as dirty. For this reason, they chose to always re-serialize them. It might change in the future.