Tags must contain an alphabetic character in them, so Obsidian doesn’t recognize “#3” as a tag. When you search for “#3” in your vault, you are doing a text search for “#3”. If you were to search for “tag:#3” you would get a blank result because “#3” is not a valid tag.
Aside from that, I’m not aware of a setting or a plugin that ignores tags within the body of a note. The only solution I can think of would be to add a backslash ("\") in front of the hash in each note (e.g. in edit mode, “#tag” would become “\#tag”). You would not see the backslash in preview mode. The challenge is how to easily do that at scale without changing the tags in the YAML front matter (assuming you placed a # in front of each tag; apparently you don’t have to in YAML front matter).
Is your issue purely with # followed by a pure number (i.e. no alphabetic characters)? If so, you should be able to rely on the “tag:” prefix in searches (as described above) as a workaround.