Doesn't <body> apply to the entire file and not just the viewport (Calibre)?
Add onto this the Calibre-viewer connects (flattens) the entire book beginning to end (CR3 does the same) and would naturally discard any top and bottom Body Margins in the process.