There's been some talk recently about brisket that brought up the idea of there being a balance between rendering collagen and melting fat. The idea in that case was that 275F was the right temp to render the collagen while not melting all the fat within the meat. It was this balance that resulted in extremely tasty brisket.
I have to think the same general concept applies to pork butt. You want most of the collagen rendered but you don't want all the intramuscular fat to melt and drip away. If the cooking temp is too low, too much of the fat will melt and you won't get the right result. If the cooking temp is too high, you'll hit your target internal temp before the collagen has had a chance to render and you'll not get the right result either. The idea of cook at X degrees until an internal temp of Y degrees is probably overly simplistic if you're really searching for perfection. The perfect temp is going to depend on the particular piece of meat you're cooking.
I would also point out that the longer the outer portion of the butt stays above 165F, the more collagen is going to render, until it's all gone and the meat starts to dry out. I made the mistake once of pulling four butts off the smoker, immediately wrapping in foil, and then sticking in a good cooler for five hours. There was more than enough residual heat that they continued to cook well past the point of being "done". When I went to pull them they just fell apart. ALL the collagen had been rendered and there was nothing left to hold the meat together at all. It was mush. You definitely don't want that.
I found this weekend that various spots inside the WSM can have radically different temps. The temp near the grommet on my WSM was often significantly different than that at the dome, and both sensors I used produced very different readings from the included WSM dome thermometer. I think it's probably best to gauge your cooks based on temperature taken at one consistent spot in the cooker, probably at the dome, but it would be a good idea to verify that temp reading is correct. I saw a difference of 40F or more between the WSM dome thermometer and a Smoke probe just inches away. In my case the WSM thermo read lower, but that wouldn't necessarily be the case.
The point here is that you are perhaps maintaining a very steady 225F where you're reading the temp, but that might not be the temp near the meat. When things had stabilized fairly well I saw 20-30F differences between the dome and right under the top grate about six inches in from the side. So if I'm seeing 225F at the dome I might be getting only 200F at the top grate and who knows what at the bottom grate. Something like that would certainly explain why your pork butt resisted going above 185F.
A six pound butt should not take 20 hours. If it does, I have to think the actual cooking temp is far enough below 225F to make a huge difference. As a simple experiment, I would suggest trying to cook at 240F next time, leaving everything else the same.