That works because you said NULL is a valid value for the column. If you had specified NOT NULL then you would get an error about violating the NOT NULL constraint. Since you have said NULL is a valid value and you actually specified it in the INSERT the following applies:
The default expression will be used in any insert operation that does not specify a value for the column. If there is no default for a column, then the default is null.
Hmm, so looks like there is no generic way out here to handle this in case of rules.