However, a new record IS NOT created in the join table when a new record is created in the "events" table;
This is expected behavior. The "Allow creation...." option does not automatically create related records just because a new record is created in a related table. It makes it possible to create a new record in the related table if you attempt to enter data into the related table from a layout based on the parent table--most often by entering data in the blank "add" row of your portal to the related table.
But when a new record is created in "contacts," a new record IS created in the join table.
This is not possible just by clicking a check box in Manage | Database | relationship. Either some aspect of your design is creating the illusion that this is happening or some additional action is creating that record for you.
Note: If you mean that you don't see that blank "add" row in the portal to the join table on your first layout and do on the second and you are sure that you've selected "allow creation..." for the correct table occurrence, then you may need to take a closer look at the match fields selected for that relationship.