Well, the rollup support in 2.4.0 utilizes a different table for the rollups and the raw data. This would allow you to have a different TTL for those.
This is hacky, but, I think some people do this by storing the data with an offset.They have say a 3 year TTL on the table and then they store data they want to keep for 6 months as being 2 years, and 6 months ago rather than now. Then they adjust this value when querying to report the correct time. I don't think this is a recommended path. I assume they are keeping metadata about the series to tell them which offset to apply.
The scans should be no more taxing on a cluster than a query over the same data. I would recommend deleting smaller batches more often, so instead of a weekly run, maybe do it daily. If the dataset is large enough, maybe hourly.