Tested with React 16.4 on Firefox 60 / macOS, the onBlur and onFocus don't bubble to the parent component when focusing / blurring the button by clicking on it / outside it.
class MyComponent extends React.Component {
render() {
return (
<div
onFocus={ e => console.log('focus') }
onBlur={ e => console.log('blur') }
>
<button>Click me</button>
</div>
);
}
}
(@AlmeroSteyn writes here that they bubble correctly on Firefox/Windows)