Если бы мне пришлось угадывать, я бы сказал, что это потому, что преобразователь значений для Толщины не обрабатывает преобразование Int32 -> Толщина. Что произойдет, если вы сделаете OuterPadding Thickness вместо int?
РЕДАКТИРОВАТЬ Только что проверил Reflector, и кажется, что ThicknessConverter жестко запрограммирован для обработки преобразования из String или Double в Thickness, но не Int32.
Я неправильно понял то, что увидел в Reflector. Похоже, он должен обрабатывать Int32 нормально.