Easily done with a little JS.
submitOptionText specifies those picklists (selects) whose option text (in addition to option value) is interesting to you.
valueField is the name of the visible field, textField is the hidden field that'll contain the option text.
MktoForms2.whenReady(function (mktoForm) {
const submitOptionText = [
{
valueField: "Country",
textField: "CountryFriendlyNameField"
}
];
/* NO NEED TO TOUCH BELOW THIS LINE! */
const formEl = mktoForm.getFormElem()[0];
mktoForm.onSubmit(function (mktoForm) {
const currentValues = mktoForm.getValues(),
newValues = {};
submitOptionText.forEach(function (fieldDesc) {
const selectEl = formEl.querySelector(
"select[name='" + fieldDesc.valueField + "']"
),
indexEl = selectEl[selectEl.selectedIndex];
newValues[fieldDesc.textField] = indexEl.textContent;
});
mktoForm.addHiddenFields(newValues);
});
});