Yes this is a normal behavior. Your contacts are anonymous (without interactions) and anonymous contact are not indexed OOTB.
To change the contact to be indexed you need to change in 2 places in xconnect:
Open the xConnect Search Indexer's sc.Xdb.Collection.IndexerSettings.xml configuration file. In a default on-premise deployment, the full path is C:\path\to\xconnect\root\App_data\jobs\continuous\IndexWorker\App_data\Config\Sitecore\SearchIndexer\sc.Xdb.Collection.IndexerSettings.xml
Set IndexAnonymousContactData to true as shown:
<Settings>
<Sitecore>
<XConnect>
<!-- SearchIndexer role requires Collection and CollectionSearch role services -->
<SearchIndexer>
<Services>
<IndexerSettings>
<Type>Sitecore.Xdb.Collection.Indexing.IndexerSettings,
Sitecore.Xdb.Collection</Type>
<LifeTime>Singleton</LifeTime>
<Options>
<IndexPIISensitiveData>false</IndexPIISensitiveData>
<IndexAnonymousContactData>false</IndexAnonymousContactData>
</Options>
</IndexerSettings>
<IIndexer>
<Type>Sitecore.Xdb.Collection.Indexing.DecoratedIndexer,
Sitecore.Xdb.Collection</Type>
<As>Sitecore.Xdb.Collection.Indexing.IIndexer, Sitecore.Xdb.Collection</As>
<LifeTime>Singleton</LifeTime>
</IIndexer>
<IIndexRebuildFlow>
<Type>Sitecore.Xdb.Collection.Indexing.IndexRebuildFlow,
Sitecore.Xdb.Collection</Type>
<As>Sitecore.Xdb.Collection.Indexing.IIndexRebuildFlow,
Sitecore.Xdb.Collection</As>
<LifeTime>Singleton</LifeTime>
<Options>
<IncomingDataLagOnCompletion>0.00:00:05</IncomingDataLagOnCompletion>
<!--Enable ParallelizationDegree setting to override default value which is (processorCount*4)-->
<!--<ParallelizationDegree>16</ParallelizationDegree>-->
<BatchSize>1000</BatchSize>
</Options>
</IIndexRebuildFlow>
</Services>
</SearchIndexer>
</XConnect>
</Sitecore>
</Settings>
- Rebuild the xDB search index.
More information you can find here : https://doc.sitecore.com/developers/91/sitecore-experience-platform/en/enable-indexing-of-anonymous-contacts.html