Quarter cabbages and remove tough cores. Discard cores.
Shred both cabbages as finely as possible using a sharp knife, mandoline, or food processor.
Place shredded cabbage in a colander. Sprinkle with salt. Toss to distribute. Rest for 15 to 20 minutes.
Squeeze cabbage firmly in small handfuls to press out all excess moisture.
Transfer squeezed cabbage to a large clean mixing bowl.
Add julienned carrots, sliced celery, and spring onions. Toss to combine.
Whisk all dressing ingredients together in a small bowl until completely smooth. Taste and adjust balance of tang, sweetness, and seasoning.
Pour three-quarters of the dressing over the cabbage mixture. Toss thoroughly for a full minute until every shred is coated. Add remaining dressing if needed.
Taste and adjust seasoning. Add more vinegar, sugar, or salt as needed.
Cover tightly and refrigerate for at least 1 hour.
Stir thoroughly before serving. Taste and adjust seasoning one final time.
Transfer to serving bowl. Garnish with spring onions, parsley, and smoked paprika. Serve cold.