The bash man page is my bible. It's dense and long but it always has the answers, you just gotta know where to look.
Here's a note from the Ubuntu recommendation: https://wiki.ubuntu.com/DashAsBinSh
The Bash manual also covers POSIX semantics, I just remember which is which. You're right that the Dash manual is a good place to check what is mostly POSIX (Dash isn't actually strictly POSIX). I would probably use Shellcheck with the correct shebang to double check what's compatible.