It's because of the slash, your filter is working with 'admin/home' but not with 'admin' route. Write this for both routes to be filtered.
Route::when('admin*', 'isAdmin');
or better
Route::group(array('prefix' => 'admin', 'before' => 'isAdmin'), function()
{
Route::get('home', 'AdminController@home'));
Route::get('/', 'AdminController@home');
});