I may be wrong, but local port means that's the port they are connecting to me on. and the remote port is the port they are going through on their end.
Partially correct!
Your local port is either the port they are connecting to you in (inbound), or a random high-numbered port that your operating system picks at random (outbound).
Bitcoin uses both inbound and outbound connections, and this tcpview program doesn't seem to make any distinction between them, nor does it seem to take into account the active state of the connection (listening, established, etc), so it's tough to tell what exactly is what in that screenshot unfortunately...
I'd say that this is absolutely normal, though