Yes. This is normal behavior as expected:
https://github.com/apache/cassandra/blob/trunk/bin/cassandra#L142
The pid file is typically used by monitoring processes and init scripts. When you start in foreground, it does not make sense for the process to have pid file as you can just terminate it by using Ctrl-C.