К сожалению, проблемно само описание проблемы. "Наехал на один
байт" может означать разное. Есть разница между А) как данные
распределены (смэплены) в памяти компилятором и Б) как они
заполнены по факту (тем более, если сериализованы наживую откуда-то
с PC). Это разные вещи. Проблема в А крайне маловероятна, проблему
следует искать в Б. "Разница адресов", скорее всего проверяется в
Б, верно? Член dummy - это искуственный паддинг. В приеме-передаче паддинг может "закостылить" проблему. Но мысли о thumb, выравнивании на границу слова скоре всего пошли в неверном направлении, не в этом дело.