In my environment (WordPress 6.3 with PHP 8.2 or 7.4.33) the placeholder works fine.
Maybe there is some other plugin that extends Contact Form 7 or some other plugin that is interfering with it.
You may want to turn off the plug-ins one by one and check if the problem is resolved.
I jumped the gun on my post and unfortunately there’s no delete button. The issue is with CF7 not allowing placeholders and defaults to be used in the same tag.
I’ve contacted Takayuki Miyoshi about possibly allowing conditional tags, so that defaults override placeholders to prefill fields for logged-in users and placeholders show for new/unregistered users.