Don't get hung up the business logic here, it was just an example. While your suggestion about the relationship makes sense (and would be the right way in this case), there are other closures where I'd like to inject he model and I don't mind it to be null ( or rather, does not contain a resolved record).
I'm using Facades only when I'm really forced too (in static context), while I try to keep injecting things. It's the proper OOP way and while I do understand the convenience from Facades, the codes gets pretty dirty really quick if you get too comfortable with them.
Would you mind explaining how would you tackle a CustomService that has a method which gets all the Posts, for example. And the CustomService implements a interface of "PostRepository" which has a contract to implement: public function all(): Collection;