Thanks for the replies. Just to clarify,
Both the races and bearings were properly seated (races placed in with a hand actuated press and visually/physically inspected to make sure they were all the way in and fully seated). Same with the rear seal (level with rear lip of hub).
The hubs were seated to the lip/edge of the backing plate and when torquing for the pre-load, the hub was rotated to make sure it was all the way on.
Caps were put on straight and pressed to fully seat against the hub. I don't think the spindle pushed against the cap as there was some grease in the cap that appeared undisturbed (and I don't use the zerks to "over-pump" extra grease in so that could not have forced the caps out). So it's a mystery as to why the caps came off.
And like I initially mentioned, I really studied this process (I tend to be a bit OCD when doing things like this and take extra time/effort to get it right), prior to doing the job). And, really, it may be a bit tedious and dirty but it's a relatively easy process to do and understand.
Lynnmor - not sure I understand your comment about the shoulder that locates the inside bearing and "naysayers".
Wayne - not sure how the castle nut keepers did not keep the castle nut in place, as you know, one side is flat and can't turn so once on it presumably stays in place. After torquing, and backing off a bit, I actually went a bit beyond finger-tight then bent up the tab. Everything felt firm and reasonably tight when rotated and jiggled.
I have cleaned and inspected all bearings etc (and hand-packed with new grease), and everything looked in good working order.
So, I'm just not sure what I could do any differently (other than tightening the nut with a wrench rather than by hand - but that is not recommended).
Marv