RLS uses a value for earch record. It does not propagates as such.
you should be creating one role. And it should use a table where Employees and leads are combined in hierarchical structure. And then use LOOKUPVALUE DAX to dynamically get desired results based on connection.
e.g. DAX
=DimEmployeeType[EmployeeTypeKey]=LOOKUPVALUE(DimEmployeeTypeHierarchy[EmployeeTypeID], DimEmployeeTypeHierarchy[UserName], USERNAME(), DimEmployeeTypeHierarchy[EmployeeTypeID], DimEmployeeType[EmployeeTypeKey])