When calculating the width and height of the content rect of a button, only the border of one side is being taken into account. Instead the border width needs to be multiplied by two before subtracting from the bounds. This is being done for padding and rounding, but not border, which is resulting in text being misaligned. The screenshots below demonstrate the issue (I've exaggerated the borders to make it easier to see the effect).
When calculating the width and height of the content rect of a button, only the border of one side is being taken into account. Instead the border width needs to be multiplied by two before subtracting from the bounds. This is being done for padding and rounding, but not border, which is resulting in text being misaligned. The screenshots below demonstrate the issue (I've exaggerated the borders to make it easier to see the effect).
Before:
After: