I can reproduce the described behaviour on Firefox 20.0.1
using this jsFiddle.
I have had a bit of a look around for you, it seems that Firefox has had quite some issues with paddings in combination with textareas in the past, so I'm thinking you might not be able to get rid of it.
I'm not sure if you would class vendor specific prefixes as a browser hack, but I've got one for you.
You can add -moz-padding-start: 2px;
and -moz-padding-end: 2px;
to your CSS rule, that will fix your wrapping issue: jsFiddle.