The same question was raised here, but left unanswered. The custom glyph is positioned incorrectly even when I copy and paste them directly from the functioning Unicode dagesh. I also encountered the same issue with a custom sheva an glyph. The metrics window in FontForge shows what it's supposed to look like: 
But my word processor (LibreOffice) misplaces the custom characters: 
I already made sure the problem isn't caused by the increased stroke thickness, and all four glyphs are assigned to the "Mark" class in the glyph info. Moving the unassigned characters across Unicode blocks (from "Hebrew" to "Alphabetical Presentation Forms" or into the "Private Use Area") didn't help, either.
EDIT: Assigning these glyphs a location defined by Unicode as a Hebrew mark gets rid of the problem. But placing it in "Combining Diacritical Marks" doesn't. It seems like all code points, with a few exceptions, are hardcoded to be treated as a letter, not a mark, in LibreOffice. Any idea how that works and how to override it (as I don't want to use an "incorrect" Unicode character for my custom glyphs)?