What date and time definition is used for the second leg of a flight? Let's take flight BA0015, from London to Syndney, via Singapore.
This is data from FlightStats.

The first leg has this data:


  "carrierFsCode":"BA",
  "flightNumber":"15",
  "departureAirportFsCode":"LHR",
  "arrivalAirportFsCode":"SIN",
  "departureDate":{
    "dateUtc":"2019-08-17T20:30:00Z",
    "dateLocal":"2019-08-17T21:30:00"
  },
  "arrivalDate":{
    "dateUtc":"2019-08-18T09:45:00Z",
    "dateLocal":"2019-08-18T17:45:00"
  },



It takes off from London, on 2019-08-17 at 20:30 UTC
and lands in Singapore, on 2019-08-18 at 09:45 UTC

but then the second leg:


  "carrierFsCode":"BA",
  "flightNumber":"15",
  "departureAirportFsCode":"SIN",
  "arrivalAirportFsCode":"SYD",
  "departureDate":{
    "dateUtc":"2019-08-17T11:25:00Z",
    "dateLocal":"2019-08-17T19:25:00"
  },
  "arrivalDate":{
    "dateUtc":"2019-08-17T19:10:00Z",
    "dateLocal":"2019-08-18T05:10:00"
  },



It takes off, in the past, from Singapore on 2019-08-17 at 11:25 and lands in Sydney on 2019-08-17 at 19:10.

Is is possible that the day doesn't get incremented because the second leg still belongs to the same flight code?
You are looking at two different planes.

This is the flight from London to Singapore, which departed on 17th of August, on flightaware.com:

The dates and times are local, meaning the flight departed 2019-08-17T21:11:00Z (UTC) and landed 2019-08-18T10:23:00Z.

Before this flight even took off, another 777 departed Singapore headed for Sydney:

The flight departed 2019-08-17T11:56:00Z and landed 2019-08-17T19:09:00Z.

The plane which landed in Singapore on the 18th of August also continued to Sydney later that day: