From comments, it looks like you've already found a solution that works. I'll add this in case it helps others with similar issues:
Use two objects
You can draw a texture on one side of a cube without creating any custom meshes by using two objects.
The first object is the Cube, which has the texture you want to display on the other 5 sides of the cube. The second is a single quad, which is parented under the cube, but offset so that it sits just outside one of the faces. This second object should have your face texture.
Any physics or game logic that you want associated with the combined object should be on the cube itself. The face quad should have only a MeshRenderer and other components required for it to work (e.g. no colliders or game logic) - unless you want to add additional components to it to animate the face.
Long term, doing art this way will be a drag on your game's performance (additional game objects come with some overhead), but it's easier to write as it doesn't require opening any 3D modelling tools.
BoxCollider, not aMeshColliderwhen trying to represent a boxy primitive shape like a cube. If this solved your problem, feel free to document your solution in an answer below. "Is this a problem for cubes in particular" - all meshes will show textures using the texture coordinates they were authored with. If the texture coordinates they were authored with are not the ones you want, you should author a mesh with the ones you want. This rule applies universally to all meshes - what's particular to each case is how you define what it is that you want. \$\endgroup\$