Forms has always had this weird (i.e. non-standard) behavior where values inside fields that are marked as read-only in the Forms Designer are submitted by the browser, but not stored by Forms server.
The HTML specification states that if a field's value should be ignored, then the "disabled" attribute should be set on that field, which makes browsers ignore that field's value when submitting the form. Otherwise, if the goal is just to prevent the user from (easily) editing the field, then the readonly attribute should be set instead.
Forms "read-only" fields do have the readonly attribute, yet they also submit their values, which are then ignored by Forms server. It's like they are the mutant child of readonly and disabled HTML attributes!
It doesn't end there though. If the read-only field is the target of a lookup, then its value DOES get stored. However, if you want to change the looked up value using JavaScript first (maybe you want to trim it or change it somehow), good luck, because it won't work: forms once again will ignore your value, and re-run the lookup and plug the lookup value back into the field when storing it.
The reason this has been challenging for us is that there are many layers of complex and odd behavior like this that we have to try to remember when designing forms, and even for those of us who work with Forms every day, it's just not possible. For this reason, we have stopped using the "Read-only" option in the designer altogether, and are currently using JavaScript to mark those fields as read-only, by just adding the 'readonly' attribute to the input tag. This presents its own challenges though. For example, when the customer's non-technical business users want to be able to make changes to the forms, they can't do it without consulting us, as they aren't proficient in JS. It makes the entire form difficult to understand, maintain and extend (which runs counter to what differentiates LF Forms from competitors, i.e. its ease of use).
Anyway, I propose the following redesign:
If the "Mark as not editable" checkbox is checked, allow the user to make a determination regarding whether the field should simply be marked as readonly (and submit and store its value), or completely disabled (i.e. have the browser ignore it when submitting the form).