I have finally found this answer, and it works for all the cases I've tried so far. The numbers are read exactly as the user typed them in. How to set a cell format to Text
Also works with an old POI version (3.11) that I have in production, so no need to upgrade just for this.