Next JS 13 routing, server actions and stale results

I have a basic todo app in next js 13 (13.12), I’m using server actions and the new App Router and am struggling to understand something.
My localhost:3000/ (HomePage) renders a list of todos by getting it from a database:

async function getTodos() {
    "use server";
    return await prisma.todo.findMany();
}

export default async Home() {
    const todos = await getTodos();
    
    return <ul className="pl-4">
                    {todos.map((todo) => (
                        <TodoItem
                            key={todo.id}
                            {...todo}
                        />
                    ))}
                </ul>
}

And I have a New page localhost:3000/new which is used to create a Todo:

async function createTodo(data: FormData) {
    "use server";
    const title = data.get("title")?.valueOf();
    if (typeof title !== "string" || title.length === 0) {
        throw new Error("title is required");
    }

    await prisma.todo.create({
        data: {
            title,
            complete: false,
        },
    });

    revalidatePath("/"); // my assumption is that this will tell next to regenerate the resource on this path
}

export default function HomePage() {
    return (
    <>
      <form action={createTodo}>...</form>
      <Link href="/">Go to todos</Link>
    </>
    )

}

Now we get to my question: by clicking the Link to go to "/", next performs client side routing, and navigates to my home page with the new todo not displayed until I do a full page refresh. My assumption was that saying revalidatePath("/") will tell next that I want a freshly generated Home page, but it is wrong. I could, instead of a link, use an anchor tag to force the browser to reload the page, but this feels wrong? What am i doing wrong here trying to understand routing in the AppRouter?

Note: I tried changing prefetch on the link but it only works once (i.e. after the first created todo and going back, it shows it, but every next form submission and back action does not show the new todo anymore)