I agree with you that it 'should work'!!!
There must be something non-obvious going on.
That's why I asked about the /home3 dir.
(for example: strange fs/mount or 'bad' permissions)
A better wild-guess: aliased: -b /home. Try: \useradd -m newuser
Or -m omitted.
Both before&after useradd: tail -1 /etc/passwd ; ls /home*
**Post output of: type useradd ; grep HOME /etc/login.defs
(research the effects of whatever output you get
)
IF you manually edit /etc/passwd,
to change the new user to home3 and setup the dir and ownership, does it work?
(meaning the newuser accessing in home3,
not meaning the 'still-broken' useradd)
An extreme debug tool is: strace -f -o filename useradd newuser
Then you'd dig thru the -ofile, to check relevant dir/files accessed.
Let's check /home3 is 'all ok'. Let us know. ls -la /home3 ; df /home*