This is a LAF feature. The BasicTabbedPaneUI has code like:
Color selectedColor = UIManager.getColor("TabbedPane.selected");
...
...
g.setColor(!isSelected || selectedColor == null ?
tabPane.getBackgroundAt(tabIndex) : selectedColor);
So the property in the UIManager has priority. You can try to update the UIManager with the Color that you want:
UIManager.put("TabbedPane.selected", ...);
See UIManager Defaults for more information and a list of the UIManager properties. The foreground doesn't have this problem because there is no default property for the selected foreground.