I created a mosaic dataset of street map images (locally purchased street mapping) in ArcGIS Pro 2.7 then created a tile package of the mosaic.
I turn the Stretch Type to None and save the Map and it appears like the first screen capture below. When I then generate a tile package off the map I get the second image below. No matter what I do to the symbology I still get pretty much get the purple background.
I think those original images might be using a colormap. Can you check the properties of them under Source - Raster Information and find out what is under Number of Bands, Format, Pixel Type, Pixel Depth. Have you tried different output formats when creating the tiles - PNG8, JPEG etc.?
You're right, they're a 1 band colormap. They are a product that most people see as a physical street map book and we receive them as TIFs.
I've tried png8, jpeg, png with no luck.
You could try adding a raster function to your mosaic dataset. In catalog right click on the mosaic dataset and choose Edit Mosaic Dataset Functions. Open the Raster Functions pane by clicking on Raster Functions in the Imagery tab. Find the Colormap to RGB function under Conversions and drag it into the editor. Link up the functions and then click Validate and Apply. I don't have any colormap image files to test this on but in theory it should work!
I might have got you off track there. I've got a mosaic dataset that successfully reads the 1 band colormap images in and creates valid 3 band overviews. If I turn off the stretching it all displays as expected. When I go to tile cache it, it turns the stretching back on. Doesn't matter if I target png8, pngs or jpeg in the tile cache.
If I use your step above where I edit the raster function. ColorMap to RGB doesn't work since my Image input is actually 3 band (mosaic output)
If it is the stretch causing the colour change, then instead of the Colormap to RGB transform you can add a Stretch transform to the mosaic dataset and set the Stretch Type to None.