The default value is not for prefilling the forms.
It acts in model, not in templates.
It is a table field fallback value which is used for every access of the table, wherever in the component. A table security if the null value is not allowed.
If the field is empty on submit, the default value take place.
If the field is not instancied in form, it works.
If you call your model by yourself (custom code), it works too !!!
DEVELOP :
In your view.html.php file, after the getData() call, check if $my_object->id = 0 (NEW) and fill the object with the value of your choice. (2 lines)
But it can be a nice idea, and it have already been asked if I remember.
Took note.