This relates to discussion in OSGeo/gdal#9258 . Currently gdal does not write the mapping tables to gpkg_contents, and this seems to be compliant with the extensions specifications.
But is this intentional? By omitting them from gpkg_contents there's a risk that a client wont know to also check for tables in gpkgext_relations, and consequently refuse to open the mapping table (as current gdal versions fail to do).
Is the intentional that a client should scan for available tables in both gpkg_contents and gpkgext_relations?