What you describe, except for point 1 - is exactly how it’s supposed to work (with the points 3 and 4 actually being “notification not shown yet”).