Calculated default value for field?

I’m trying to create a date field that should by default be the 1/1/current year. So ideally, I’d have a default value expression taking the current date and changing the day and month part to 1.

As it seems to me, defaults right now can only be fixed values. Is there some other, non-obvious way to achieve this?

Currently no, only static values. You could however have field validators that would ensure the year to be the current one.

I don’t want to force users to set that date field to 1/1/current year, I want to present this as a default that won’t be changed in ~75% of cases, but still needs to be changeable.

You could however have field validators that would ensure the year to be the current one.
Note that this is a different question, not the same as the other one with expression validations.

Then maybe consider a field expression that is calculated based on if the date field has a value, if not then default to the current year.

Otherwise a workflow could do the same, just with more steps.

There is no way to set dynamic default values currently.