i think this is a trade off between flexibility and simplicity.
you can have 2 columns, one for the timestamp and one to record the type of it (start time, end time, any other time…).
you can introduce new phases (type of timestamps) at any time without creating new columns and the need of backfilling the existing data.
however, queries get more complicated.
consider just the query you posted above.
you would need to use extra conditions in your WHERE clause or possibly GROUP BY, even subqueries to find corresponding start and end times.
when they are in separate columns it is all in a single row.