When you insert a tuple, it needs to be inserted into the index, yes. There is no way an insert can cause a sequential scan, except by some trigger defined on the table.
Actually, as it happens, there *is* a trigger defined on the table to fire before insert, but it too uses an index scan, at least according to explain. Though, you'd think if it actually was using an index scan, that would be showing up in pg_stat_user_tables, which it isn't. Might the fact that the trigger is a plpgsql function be throwing it off and keeping it from using more recent planner stats?
You're not doing a select within the insert statement are you?
No, just within the trigger.