Why 2 allocation units during online index rebuild to different file group?
How Online Index Operations Work:


  Temporary mapping index
  
  Online index operations that create, drop, or rebuild a clustered
  index also require a temporary mapping index. This temporary index is
  used by concurrent transactions to determine which records to delete
  in the new indexes that are being built when rows in the underlying
  table are updated or deleted. This nonclustered index is created in
  the same step as the new clustered index (or heap) and does not
  require a separate sort operation. Concurrent transactions also
  maintain the temporary mapping index in all their insert, update, and
  delete operations.


Disk Space Requirements for Index DDL Operations


  If a clustered index is created, rebuilt, or dropped online, a
  temporary nonclustered index is created to map old bookmarks to new
  bookmarks. If the SORT_IN_TEMPDB option is set to ON, this temporary
  index is created in tempdb. If SORT_IN_TEMPDB is set to OFF, the same
  filegroup or partition scheme as the target index is used. (My note: default is OFF)


Index ID 254 is indeed the mapping index. The Online Indexing Operations in SQL Server 2005 whitepaper has more details.