DatePicker creating records wrongly but editing correctly

I have an app configured with UTC timezone, and form with the following date picker (DATE ONLY, no time):

Forms\Components\DatePicker::make('start_date')
  ->label('Data de início')
  ->timezone('America/Sao_Paulo')
  ->required(),


If i select 2023-03-09 in the form, it CREATES in the database as 2023-03-09 (wrong, it should save as D-1)
If i view the record, it will show as 2023-03-08 (wrong, because of timezone)
Then i edit this date back to 2023-03-09 and it UPDATES to 2023-03-10 (correct, D-1)
If i view the record, it will show as 2023-03-09 (which is now correct)

WTF is going on? Am i dumb and don't know how timezone works?
Was this page helpful?