I'll second what others have said:
1. I always try to brine, but if in a hurry and don't have time to brine will inject. Rarely have ever done both. I have tried it and couldn't really tell the difference. But, my opinion is doing one of the two really does help.
2. I always rest for a minimum of 1 hour and usually do 2 hours and have gone as long as 4 if the meat got done early.
I always start my butts around 11:00 PM to 12:00 AM the night before and they are usually done mid-afternoon the next day give or take. So, they are taking a good 15-18 hours typically. So, 21 is not TOTALLY out of bounds.
How big was your butt?
If it was in the six or smaller pound range, that could definitely explain the extra time and the dryness too. Typically smaller cuts of meat take longer to smoke and as a result have a larger likelihood of becoming dry. I always try to find the biggest pork butts that I can find because they just smoke better and tend to stay way moister.
Another question whether your butt was bone-in or not. Hopefully, it was bone-in, as I have not had as good of luck with the boneless ones. I like them for making sausage and buckboard bacon, but for pulled pork, I always want the bone-in butts.
Let us know how your next smoke goes. Hopefully, the recommendations here will help out.