Service-layer method parameter best practice: entity objects vs entity IDs

I’m wondering if there’s a consensus on this. This topic is also discussed here:

Basically, in general and all else being equal (there will always be context-specific requirements/exceptions), should you use entity objects as service-layer method params or ints/IDs of the entities?

One side says, entity method parameters are generally preferable for the reasons listed in that post’s top answer, chiefly because of the type safety you get.

The other side says IDs are better and you do all the DB lookups and validation at the top (end) of the call stack because then if the method is called in multiple places by i.e. controllers each caller doesn’t have to be concerned with repeating the entity lookup before calling the method.