リリースノートなどを読み込んだわけではないので、推測ですが、H2のバグかもしれません。
質問中のスクリーンショットから推察するに、H2 1.4.200を利用なさっているのだと思いますが、確かにそのバージョンだと期待した動作にはなりませんでした。
現在最新のH2 2.0.204にて、以下の一連のSQLを流した結果(の最後の方)を貼ります。こちらは期待通りの挙動だと思います。
drop table if exists t;
drop sequence if exists seq;
create table if not exists t (
id int primary key,
name varchar not null
);
insert into t(id, name) values (1, 'aaa'), (2, 'bbb'), (3, 'ccc');
create sequence seq start with 1 increment by 1 minvalue 1 maxvalue 3 cycle;
select * from t;
update t set name='xxx' where id=(select next value for seq);
select * from t;
確信はないですが、古いH2にバグがあり、最新のH2だと修正されているのだと考えると、辻褄は合うように思います。