Hi @gonzl605
I notice @ScottShearer has given you an idea, I was working on the solution and will go ahead and post my version as follows.
First, using the "Add to Time" action, I can get the start of this month and add 1 month to the date i.e. with today being 09/11/2021 (it the UK at least 😅), this would return 01/12/2021. Then using the same action again, I am able to subtract a day and get the end of this month i.e. 30/11/2021.

Next I have created an array of dates (using a select on a range 0 to 7, the last 7 days of this month and used an expression to indicate the day of the week, 0 and 6 being Sunday and Saturday. I use sub to turn the item() into a negative, i.e. Sub(0,0) is 0, sub(0,1) is -1, then -2 etc. This allows me to get the last 7 days of the month, including the last day of the month. I probably on need the last 5 but this will allow you or someone else to adapt for 4th last day, 5th last day etc.
Select:
FROM range(0,7)
date adddays(body('Last_Day_of_This_Month'),sub(0,item()))
dayofweek dayOfWeek(adddays(body('Last_Day_of_This_Month'),sub(0,item())))
Filter Array (in advanace mode)
@and(not(equals(item()?['dayofweek'], 0)),not(equals(item()?['dayofweek'], 6)))

The final compose is to return the 3rd element of the array (after it has been filtered). Elements start from 0,1,2 and so the 3rd element is called by integer 2.
body('Filter_array')?[2]?['date']
Hopefully this helps you to achieve your goal, pretty complicated but a good challenge.
Please consider accepting my answer as a solution if it helps to solve your problem.
Cheers
Damien
Please take a look and subscribe to my YouTube Channel for more Power Platform ideas and concepts, or take a look at my website. Thanks