I think we need ideally both an opinion of @Martin Sandve Alnæs and tests. How are we sure that replacing the affine_weights by quads and hexes is enough and there further assumptions hidden in the code?
Comments on affine_weights are still relevant as long as that function is used anywhere (whatever you rename it to). That function is a hack to inject an affine basis into the code generation for affine mesh mappings. Anywhere it's used there is an assumption of affine mesh.
All element code should go through new codepaths. The split into separate reference basis + transform is all about that. Getting rid of any place that uses affine_weights is part of the completion of that work.