Tested here, in QGIS 3.4.3 (Windows system), too.
I have a feeling this is related to the NULL that is automatically applied to empty fields
I would think so, because it does not accept the words 'N', 'NU', nor 'NUL'. Take all those strings as NULL value.
However, it does accept them when creating the feature. The issue is when editing the attributes table.
but have no idea how to resolve
The NULL value string can be modified in the Settings > Options... > Data Sources tab. You can set a string that you never use (or an empty string) in the Representation for NULL values option:
You will not be able to enter that string in the attribute table from the keyboard, which still seems like an error, but at least you can enter usual strings.
A provisional solution can be in the Attributes Form tab of the layer Properties.
In case you only need 'Y' or 'N' values, it seems to me that the simplest way to do it is by setting a Checkbox, in the Widget Type option.
Another solution would be to choose the Vaue Map option, but it requires one more click to be established, and it is not necessary for only two possible entries (if you need to have the option to choose the NULL value, it may be more advisable).
The attribute table would look like this:
Of course it is just a solution for the particular case.