When you don't specify the individual date and time parts, Date uses the current values - today is 29th, but there is no 2025-02-29, so you get 2025-03-01 (because that is the day after February 28th).
You can reset all of the values using ! in the formatter; like this giving a Carbon instance at the beginning of the month