Is it normal for a scheduled post to say “Missed Schedule”

In short, yes. When wp-cron is not triggered frequently enough it will miss scheduled publish times. The behavior you mentioned above is normal. A visit to your site will automatically trigger wp-cron in the background and any “Missed Schedule” posts will be published promptly.

To get more consistent behavior from wp-cron I’d recommend setting up a CRON JOB on your web server to run wp-cron on a regularly scheduled interval (every 30 minutes, every hour, etc.) By doing this you are instructing wp-cron to maintain your scheduled tasks without relying on web traffic to trigger wp-cron for you.