How does objectproperty() figure out if a function is deterministic in sql server?
First it looks whether used functions are deterministic.
Then it looks whether your function is schema bound.
(Or in reverse order.)

So add with schemabinding to your function.