That assumes that all of a user's data is a single foreign key relationship away from the user, which often isn't the case.
It also requires you to scan the entire table and decode JSON for every row you've ever deleted, which may become prohibitively expensive for large databases.