И флаги SYN, и FIN приводят к увеличению порядкового номера потока на единицу. Таким образом
SYN (seq x) -------------->
<--- SYNACK (ack x+1, seq y)
ACK (seq x+1, ack y+1) --->
Это ваше трехстороннее рукопожатие. Это сделано так, потому что SYN и FIN требуют подтверждения получения. Таким образом, каждый может быть на одной странице в течение всего времени существования соединения.
Теоретически любой пакет в части TWHS может иметь полезную нагрузку, но если любой из пакетов с установленным флагом SYN имеет полезную нагрузку, противоположная сторона должна подтвердить как данные, так и флаг.