For a "standard" pushbutton, I'm not sure it's possible with the LCL (it's different for the other non-native buttons that are "painted").
Windows only solution (don't know if it's possible for the other OS): modify the style of the existing button using the Windows API.
Demonstration code:
...
uses
Windows;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetWindowLongPtr(Button1.Handle, GWL_STYLE, GetWindowLongPtr(Button1.Handle, GWL_STYLE) and (not BS_CENTER) or BS_LEFT);
Button1.Refresh;
end;
...