Brazil's Jorge Zarif led for most of the way around the course and crossed the finish line first but failed to round the final downwind mark and was disqualified, handing Junior the race win.
Junior needed to have one boat between him and Salminen to win bronze but the Swede crossed close behind to earn a place on the podium.
"I would have loved to have shaken him off but there was too much of a gap back to the boats behind him so there wasn't really a chance to get a boat between us," Junior said. "But it's pretty cool to win the race and finish fourth. I'm happy with that.
"It has been cool to come over here and see where we are placed in the fleet and what we need to work on. I didn't really know where I would fit in. I knew I had the potential to do well but it doesn't always work out like that in racing so it's great to finish fourth. We'll go to Palma now and work on a couple of things, like starting and upwind speed, and hope to do even better."
Junior and Maloney will compete alongside a number of other New Zealand sailors at the Princess Sofia regatta in Palma in a fortnight. This is one of the biggest regattas of the year in terms of numbers competing and features multiple classes.
Results and standings after the final day at the Finn European championships in Cadiz, Spain, overnight (NZ time):
1st: Edward Wright (GBR) 9 1 5 7 (20) 3 5 17 10 - 57 points
2nd: Nicholas Heiner (NED) 1 7 2 1 (17) 5 12 14 18 - 60 pts
3rd: Max Salminen (SWE) (31) 18 1 5 11 2 23 7 4 - 71 pts
4th: Josh Junior (NZL) 6 (43) 4 4 25 9 4 19 2 - 73 pts
11th: Andy Maloney (NZL) 12 15 24 (29) 12 20 3 10 - 96 pts
39th: Brendan McCarty (NZ) 30 24 29 (49) 45 46 32 42 - 248 pts