Rinse rice in several changes of cold water in a medium bowl until water runs clear. Drain well, then transfer to a small saucepan. Pour in 1¼ cups cold water and bring to a boil over medium-high heat. Give rice a stir so grains don’t stick to the bottom. Cover pot and reduce heat to lowest setting. Cook, undisturbed, until water is evaporated and rice is tender, 18–20 minutes. Remove from heat and let sit, still covered, 10 minutes.
Meanwhile, thinly slice dark green scallion parts into rounds. Thinly slice white parts on a steep diagonal. Keep separated.
Mix ginger and 2 Tbsp. oil in a medium bowl. Add cod; season with salt and plenty of pepper (about 2 tsp.). Toss to coat.
Heat remaining 1 Tbsp. oil in a large nonstick skillet over medium-high. Add cod and cook, undisturbed, until golden underneath, about 2 minutes. Turn fish pieces, then scatter white scallion parts over. Cook, shaking the pan a bit, until fish is cooked through and some scallions are caramelized and some are just slightly softened, about 2 minutes more. Remove from heat.
Stir vinegar and sugar in a small bowl until sugar dissolves. Stir into rice. Add butter and sliced scallion greens; gently stir until butter melts. Season with salt.
Transfer rice to a platter and top with fish; pour any pan juices over.