It seems like the URL slug IS part of your domain model, even though it seems like an infrastructure concern at first.
If you are modeling it as a property of your entity, I see no problem in passing it in the constructor arguments. It is certainly better then having it as a property with a public setter, open to be modified by anyone at anytime.
Create an ISlugGenerator
interface and inject it into the appropriate layer (ApplicationService or DomainService, see here for more info), to generate the URL string and pass it in the constructor to the entity.
Implement the ISlugGenerator
in the Presentation Layer, the one that actually holds the page/route that is going the be accessed via the URL.
You could argue that the URL really has no place in the domain model, because it is just some info that is related to the entity, but is not used in any decision making process.
Well, then think about Product Description or Product Image in an e-commerce application. It is the same thing. You most certainly have validation logic for these properties and this validation should be part of the Domain, but you probably don't make any other decisions based on them.
So, shouldn't you remove Description and Image from the Product entity? Actually, no. Even though the image is probably a URL just like the slug from your question.
The product will receive the imageUrl as a string parameter in its constructor, or be set via a method in the entity. But the imageUrl will be generated by some ImageUploadService, whose interface will be defined in the Application Layer and implemented in some Infrastructure Layer.