R doesn't have formats, which is why the formats get stripped out (except for data, time, and datetime). If you want to send in the formatted data, you can use the PUT function to create the formatted values in a separate variable:
proc format;
value $x 'A'='One'
'B'='Two';
run;
data have;
input x $;
format x $x.;
datalines;
A
B
;
data want;
set have(rename=(x=xRaw)); /* rename the raw data */
length x $3; /* =max length of formmatted values */
x = put(xRaw, $x.); /* new var w/ formatted values */
run;
proc iml;
call ExportDataSetToR("want","wantInR");
submit / R;
wantInR
endsubmit;
quit;