mono's implementation of TransactionScope does not enforce the timeout, looking at the sources nothing is done with it whatsoever.
using (var scope = new TransactionScope(TransactionScopeOption.Required, new TimeSpan(0, 0, 1)))
using (var conn = new NpgsqlConnection(....)) // or some other database
var cmd = new NpgsqlCommand(@"INSERT INTO data (name) VALUES ('HELLO')", conn);
cmd.ExecuteNonQuery(); // just some update
This code should fail with a timeout exception, but it does not.