In a bowl, toss cabbage with 2 teaspoons salt; let stand 20 minutes. Press between layers of paper towels to remove excess liquid. Toss cabbage in a clean bowl with celery, onion, mayonnaise, vinegar, and caraway seed and season with pepper.
Heat grill to medium-high. Clean and lightly oil hot grates. Pat fish dry with paper towels; season with salt and pepper and brush with oil. Grill fish on one side until opaque at edges, 2 to 4 minutes. Using a thin spatula, flip fish and cook until opaque throughout, 1 to 5 minutes. Transfer to a plate.
Clean and lightly oil hot grates; grill bread until lightly toasted, 5 to 10 seconds per side. Assemble sandwiches with fish and cabbage slaw.
Patting the fish dry with paper towels is crucial for preventing it from sticking to the grill. Always use a wide spatula to move the fish (never tongs or a grilling fork) and turn the fillets only once.