I would second reading "Starting Forth" and "Thinking Forth", though they are very dated and you'll have to unlearn a few things afterwards (especially loops). Still: "Starting Forth" (
http://www.forth.com/starting-forth/sf0/sf0.html) is a gentle introduction to the basics and has cute drawings, so start with that. Then, after a few chapters, and even before you're done, switch to "Thinking Forth" (
http://thinking-forth.sourceforge.net/) because that will get you started on the philosophy behind Forth, which will motivate you to get through the part when you're thinking that these people must be completely out of their minds. Switch back and (cough) forth for a while until you have the hang of the basics and the deeper ideas from both books.
After that: The Gforth documentation is good and will teach you ANSI, though they do some things differently. There is no other serious documentation for, say, reading things from files. Words like DEFER and CREATE/DOES are enormously powerful, so you'll want to spend some time with those by themselves. The most important thing, though, is to
write something longer in Forth. I wrote a disassembler, an assembler, and then finally an emulator in Forth, and at various points, I had insights I would never have had from just reading about it.
If you have some background in functional programming (which I didn't), that helps, because you'll be used to writing little functions without side effects. I had to go through the phase where I was "coding Python in Forth", which was better than the classic "coding C in Forth", but still frustrating. The breakthrough for me was to realize that I wasn't "coding in Forth" at all, but "expanding Forth" into a specialized language for the problem space. Since you are
inside the code, debugging becomes very easy, for example. After Forth, languages like Python or Go seem like closed boxes.
Good luck and don't be afraid to ask!