Use client and use server aren’t great, but the fact they had to be declared at the top of a file was at least clear.

Starting to scatter magic strings throughout a code base feels like a real step back.

There's nothing about "use server" that requires it to be at the top of the file though, it can go in function bodies and you have a typed RPC method.

I think "use client" is the only one that has to go at the top of a file.

You are correct. Use server can be slapped in many places