Answer
Some base Logical Units (in a confirmed case, InventoryPartInStock) simply don't allow direct entry into a persistent custom field through the standard screen UI, even though the framework technically permits creating a persistent field there — the field can still be populated, just not by typing directly into it on that screen. The value can still be set through code (for example, a Custom Event), and a common workaround pattern is to add a custom RMB menu item that navigates to a related Custom Logical Unit screen where the value genuinely can be typed in directly; on save, a Custom Event then copies that entered value back into the original LU's persistent custom field.