Hi, yes, I have an almost 6 daughter who did something very similar. I too stay home and am very engaged with her, but she just still needed more. My advice is to sleep with him for a while and then he will probably go back to sleeping alone soon. He may have figured out that night is a time when you are unavailable to him and that your husband is acually there to stay and that may have him a little insecure. He is too young to recognize that is what is happening, but sometime, kids juat need that little extra security. So do adults. Kids grow up fast and there is never enough time to enjoy holding him. Use the night as a time to get in some still cuddle time to remember when he outgrows the cuddle phase. Boys aren't still to be loved on much, so just use that as a time to get it in. I also have a 4 boy. I lay with him until he falls asleep and a little after every night. I know all too soon, he won't want me to because he will be grown up too much for mom to do all that kind of stuff. My advice is that you should listen to what he needs and validate that he knows what he needs by laying with him for a while at night. When he feels secure in knowing that you are going to be close when he needs you, he will probably go right back to sleeping alone. If you keep making him feel that you don't want him at that time, it may even get worse instead of better. I wouldn't want mine laying in their bed crying because they were lonely and then on top of that, scared to come tell me.
The thing to remember is that like diapers, teething, colic, carseats and baby open mouth kisses, this too shall pass. He won't want you to move away to college and sleep with him. ha!