40 sprites fill up a 4k atlas? That implies your sprites are roughly 100x100 pixels each.
For sprites that large, I don't advise using an atlas. Keep them as textures and use UITexture to display them. Atlases are great for keeping lots of small sprites together, saving draw calls and texture space.
Also keep in mind, if you want you can load your PNG dynamically. Just have a script that loads an image and sets the atlas material's main texture in an Awake() of some script that will load first as soon as you start your app.
Or just enable compression on the atlas texture so that it's not truecolor.