One-to-many relationship on a “‘junction’ table”
You can build a unique/primary key in the Workout Exercise table that can be referenced by Sets.  That will maintain referential integrity and minimize redundancy, assuming that the surrogate key made up of key values from workout and exercise is unique, and you can create one primary key on sets that has that foreign key referential integrity to the associative (junction) table.