Thanks for the reply.
What you said makes sense to me, but it seems like ResetPosition changes x even if scale x has been set to 0. Could that be a bug? I tried calling ResetPosition both before adding the dynamic widgets as well as after but it doesn't seem to make a difference.
Here's a few images which might help:
Before adding widgets to the panel:

after adding widgets to the panel, notice the pink rectangle moves to the right so it aligns with the left side of the widgets:

mouse over the second button causing the button to be clipped on the left (notice that the red rectangle is now outside of the pink):

Thanks again for any help you can provide!