Checks key exists rather than isset

If the default value is set to `null`, `isset` will return `false` even though the key is actually there for a reason.
Added test that passes following previous commit
#1202 - simplified test and test asset
Merge branch 'backport/#1202-backport-null-column-option-values' into 2.4