Component in template does not show up in a page
I am having an issue where a custom component called "metadata" is in a custom template, and shows up in the template editor, but does not appear in the page that is made with the template.
Here is the template editor in AEM:

"I EXIST" is there showing that the component is in fact in the template. Here is the html of the "metadata" component:
<sly data-sly-use.Metadata="com.project.aem.dita.core.models.Metadata"></sly>
<div class="dita_metadata_group">
<h1>I EXIST</h1>
<sly data-sly-test="${Metadata.updatedDate}">
<p class="prop">${'UPDATED' @ i18n}: <span class="prop_value">${Metadata.updatedDate}</span></p>
</sly>
<sly data-sly-test="${Metadata.documentId}">
<p class="prop">${'DOCUMENT ID' @ i18n}: <span class="prop_value">${Metadata.documentId}</span></p>
</sly>
</div>
However, when a page is created with that template, "I EXIST" does not display. I even debugged my local instance and the component init function never gets called like it does on the template editor page.
protected void initMetadata() throws RepositoryException {
...
}
What would cause a component to not display?