The server that you are connecting to doesn't care what username you have on your own machine. That is, if your username is 'foobar' on your laptop, you can still connect as 'svn' on the server. ssh will default to using your username though, so you have to specify an alternative if needed.
In your situation I believe the flow is this:
foobar@yourcomputer -> ssh -> svn@server
In that case, the ssh client will look for a private key in your ~/.ssh/ directory (or equivalent) that matches a public key in the ~svn/.ssh/authorized_keys on the server. A common use-case in this situation if for there to be quite a few public keys in the svn user's authorized_key file, so that many different people can all connect as the svn user, without having to share the svn user's password around.
Or, to put it a different way, you aren't "pretending" to be the SVN user - you are becoming the SVN user on the remote server.