Add one extra bit to store “disambiguation”.
Value 0 meaning “if there is a DST switch, interpret the time as the chronologically earlier one”
Value 1 meaning “if there is a DST switch, interpret the time as the chronologically later one”.
Value 0 meaning “if there is a DST switch, interpret the time as the chronologically earlier one”
Value 1 meaning “if there is a DST switch, interpret the time as the chronologically later one”.
But you still need to handle the case where the local time is skipped. You could pick the timestamp during which the skip happens, but that'd lead to an offset that can contain fractional seconds, which almost no datetime library supports.