To fix this, I swizzledused the ZKSwizzle library to swizzle the NSUserDefaults objectForKey: method. Using the ZKSwizzle library:
On the other hand, monkey-patching someone else's code is an inherently weird thing to do, so I can accept that the optimal solution might be weird as well. Obviously, if this was my own code, I would rewrite it to use preferredScrollerStylepreferredScrollerStyle instead of NSUserDefaultsNSUserDefaults in the first place, but it's not, so I need to find a method boundary.