Using SQL 2008 if one creates 4 tables (1 for each of the create statements in the question). Insert the same number of rows into each table, and then executes the procedure:
sp_estimate_data_compression_savings 'dbo', 'Flags1', NULL, NULL, 'ROW' ;
The answer does NOT support the "correct answer", will the questions author please explain why the difference