I have a simple spitter set up using a dropper into a water stream, fed by a hopper from above.
The arrangement is as follows below the hopper
O
SOP
DCB
O = Observer, S=empty space, P=sticky piston, D=dropper, C=comparitor, B=stone block
The observers are facing each other so that when the comparitor detects items in the dropper, it sends a signal into the solid block which powers the piston, pushing the observer in front of the other observer, creating a clock. Once the dropper is empty the piston pulls the observer back, and the hopper above the dropper locks (for no apparent reason as it is not powered). There is no other redstone in the area. Anything placed above the hopper sits and despawns.
Related issues
Attachments
Comments

Please attach a screenshot of the entire setup

I can corfirm the bug happening. To add more info, updating any block adjacent to the hopper that is next to the dispenser/dropper will make it work as intended for ~2 seconds, and placing any item inside the dispenser/dropper will make the hopper work only until it depletes.

It's not specific to this contraption. Observers are generally not functionning correctly. This video is a nice summary of 1.14 worst bug, and observer bug is shown at the beginning :https://www.youtube.com/watch?v=ZL9aBeD5iBQ&t=12s
Does MC-151418 describe your issue?

The image on the right is almost the same set-up as mine, the only difference is that the hopper is above the dropper instead of on the side, although this does not make a difference. When a item is in the dropper, the comparitor registers, fires the sticky piston which pushes the observer in front of the other observer, creating a clock. This causes the dropper to fire repeatedly as long as there are items in the dropper and locks the hopper. When the dropper is empty, the piston retracts the observer, shutting off the clock. Neither the dropper or hopper are powered so the hopper should not be locked but it is. As Joan has mentioned, updating a block next to the hopper resets the hopper until the dropper is again emptied.
This may be a duplicate of MC-15148's first video, but I am not sure what is happening in the second.
This was working correctly in 1.13.2.
Was it working correctly in 1.14 as well?

I can confirm this setup was working on 1.14. Seems to be something observer-related and not a hopper/dropper/dispenser issue, since those blocks work fine when there's no observer involved.
Alright. Assuming it's caused by MC-151418 then. Closed as a duplicate.