Would a sparse NP-Complete language imply L = NP?
Your claim [4] is wrong - the issue is with the term "$X$-complete" for a complexity class $X$.

Stricly speaking, barring specific convention the phrase "$X$-completeness" doesn't pin down a single notion: we also need to specify the reducibility notion involved. For example, Cai/Sivakumar look at P-completeness with respect to logspace and NC many-one reductions, while "NP-complete" refers to polynomial-time many-one reductions. Changing the reducibility notion changes the completeness (and hardness) notion - for a silly example, everything in P is NP-complete with respect to exponential-time Turing reductions.

So the implication "P=NP implies P-complete=NP-complete" is a non-sequitur, since the implicit reducibility notions are different. P=NP does imply (say) "P-complete w/r/t logspace reductions = NP-complete w/r/t logspace reductions," but that's a completely different thing.