Un attribut non modifiable au sens des meta données n’est par construction pas modifiable par un mécanisme à la main de l’utilisateur (UI ou API). Il peut par contre être modifié dans du code serveur.
Votre attribut n’est conceptuellement pas “non modifiable” il est juste “non saisissable manuellement par un utilisateur”.
Bref ajoutez du code JS pour rendre l’input box non saisissable mais ne jouez pas sur le caractère modifiable de l’attribut.