In reply to Nick.

"Surely enough, they had hard coded the CSS code on how the button should look like."

The CSS has not been hard coded, rather it is in the format that the block system recognizes and can interact with. With this you are able to change the background color, text color, and border radius with the block tools in the right-sidebar.

I was able to add a new button right next to the current button, and style it exactly the same with minimal effort.
One small issue is that despite the initial state of the border-radius option showing as zero, Gutenberg gives buttons a default radius of 9999px!
To change this to zero, I had to change the radius up from 0 to 1, then back to 0 for it to take effect. Not ideal in real world usage.