Эти синонимы. Но мне кажется, что все-таки тонкая разница есть.
My current understanding of the difference:
Беспризорный = "homeless" -- used in a more educated written register (literature etc.)
Бездомный = "homeless" -- most common everyday verbal usage for
Бомж = "homeless/bum" -- Acronym for: без определённого места жительства (slang/jargon)
Is there any additional difference in where one would encounter these words?
Am I correct in my assumptions about what "register" the words fall into? Or am I imagining the difference.