I could also imagine that one side interprets the hexadecimal value in the configuration as binary byte string (essentially big endian) while the other side interprets the value numerically and sends it in platform endianess.
What exactly did you configure on the OpenWrt side? option mobility_domain 2710
?
Edit:
Indeed, hostapd interprets the given value as binary string:
So I suppose your only choice is to simply swap the bytes manually in the OpenWrt side config to accommodate for Cisco’s implied byte swapping of the mobility domain value.
Edit 2:
Just seen that @IanC digged out the proper standards definition, seems that hostapd should interpret the value numerically (strtoul() instead of hexstr2bin() and then convert the value to little endian in order to match Cisco‘s and likely other vendors behavior).