Your compose file looks correct. Nothing in the docs indicate that the volume short syntax suddenly changed from a list to a map.
You are on a release candidate of Docker 29, so errors can be expected.
Can you try docker compose config to determine whether the problem is in the compose cli plugin?