AFAIK, there is no reason not to use "-g" to generate debug symbols in the binary, even for production images.  This is separate from optimization, and should not result in any differences in the binary.
The current state, which uses "-Og -g" for debug builds, and "-O3" for production, means that the production binary is different than the debug binary, and it's especially annoying to debug (or even look at a disassembled source listing, since you can't generate the intermingled Source/assembly listing without debug symbols, apparently.)
(and... do you want to use objdump -S to generate the .dis file instead of "-d"?  that gives you the intermingled source.  Which is frequently pretty scrambled with -O3, but still...