Anyone with my meeting URL can start the meeting

If I create and even give it a password so only my students can enter, then these students can enter the room at any time, in particular they can use the room among themselves without me, and they can start the call before I join. That’s two flies to kill with one swat:

–> Can I prevent invitees from entering the room unless I am also present?

No, you cannot.

If you’re using the public server, everyone is a moderator as well, so not ideal for a student situation in the first place.

You might join the room and idle in it before you send out the URL, but there’s not a great answer for this sort of thing with the current Jitsi architecture. If you have a self hosted server, you’ve got a lot more options.