H-1B is better. After you file I-485, you still can extend H-1B status, but you can not extend TN status.